大数据开发的12个辅助开发工具:
在大数据应用的开发中,除了基础的Hadoop或者R语言之外,还有很多优秀的开发工具,能使开发者如虎添翼。
“兵欲善其事,必先利其器”
http://www.Sina.com/http://www.Sina.com /
BitDeli是一家刚成立的公司,是一家允许开发人员使用Python脚本分析APP应用程序的产品。 Python脚本可以简单也可以复杂。 一切都可以由开发人员定制。 BitDeli的产品甚至包括机器学习的模块。 BitDeli是一个比较庞大的硬件分析工具,他把自己比作应用分析中的只读(ror )。
1
Continuity的两位创始人是雅虎前首席云架构师Todd Papaioannou和前脸书HiBase工程师Jonathan Gray。 他们的目的是让客户像雅虎和脸书一样
利用大数据。 Continuity的产品app结构主要以Hadoop和HBase集群之间的复杂工作为抽象层,提供各种大数据开发工具来满足企业内外的数据需求。
)BitDeli
Flurry是一个一站式移动APP应用商店,每年收入100美元。 它不仅可以帮助开发人员在平台上进行开发,还可以帮助开发人员运用数据分析APP应用程序和改进APP应用程序。 Flurry平台还可以与广告网络配合使用,帮助开发人员获得更好的利润。
2)Continuity
在谷歌提供的众多开发工具中,谷歌predictive API是最酷的。 有了良好的训练范例资料,GooglePredictive API便会利用机器学习演算法建立APP应用程式模型,并将这些模型整合到APP应用程式中。 谷歌提供的例行程序包括反垃圾邮件、推荐引擎、情感分析等模型的构建步骤和代码。
3)Flurry
虽然Infochimps将自己定义为企业IT平台,但他们的大数据平台对开发人员也非常有用。 其技术平台被称为Wukong,用于大数据环境的配置和管理。 从启动Hadoop进程到在Ruby脚本中传递数据流。 Wukong可以让开发者的工作更简单。 Infochimps平台还包括通过API或下载提供各种数据的数据市场。
4)Google Predictive API
Keen IO是一个强大的移动APP分析工具。 开发者只需简单地访问一行代码即可跟踪有关APP应用程序的所需信息。 开发者接下来只需要做Dashboard和查询的工作就可以了。
5)Infochimps
kont代理是一个移动、社交和web APP应用的分析平台。 它基于Hadoop大数据平台构建。 今年,kont代理平台增加了新功能。 这样,用户就可以使用Hive查询语言任意地查询和分析数据,而不仅仅执行预定义的查询和分析
6)Keen IO
Mortar Data是一个面向开发人员的Hadoop开发平台,它使用Pig和Python的组合而不是MapReduce,使开发人员可以轻松创建Hadoop管线(Pipeline )。 今年11月,它推出了Mortar Data的开源开发框架,利用开源社区推动数据共享。 Mortar Data平台在亚马逊云平台上运行。 支持亚马逊S3和MangoDB。
7)Kontagent
lytics利用脚本语言以及API, PlacedAnalytics能够提供针对移动和网络应用的详细用户行为分析。包括, 用户使用时间和地理位置信息。 这些可以帮助开发者的应用更好地吸引广告商, 也可以帮助开发者对自己的应用进行改善。
10) Precog
Precog提供的是一个基于开源查询语言Quirrel的交互式开发环境,名为Labcoat。可以帮助开发者进行应用分析的开发。这个IDE环境还提供了关于Quirrel的教程,以及其他一些复杂的函数。 用公司首席运营官Jeff Carr的话来说:“就算是一个非技术人员, 几个小时也能掌握基本功能。”
11) Spring For Apache Hadoop
尽管Hadoop是用Java写的,但是这并不意味着, 在Hadoop上编程或者使用Hadoop对Java程序员来说就很简单。因此, 在2012年初, SpringSource宣布推出了SpringFor Apache Hadoop项目。 把Spring开发框架和Hadoop结合起来。 这样也便于其他的Spring应用或者基于Java虚拟机的脚本, 更好地和Hadoop以及利用Hadoop的其他技术如Hive或者HBase进行整合。
12) StatMix
和BitDeli以及Keen IO一样,StatMix也希望能够使开发者用他们所熟知的语言来进行数据查询与分析。 因此, 出来提供预定义的查询之外, StatMix也提供API和代码库来让开发者定制化的查询。并可以把不同数据源的查询结果整合在一个定制的Dashboard里。
13) Spark
Spark是一个基于内存计算的开源集群计算系统,目的是更快速的进行数据分析。Spark由加州伯克利大学AMP实验室Matei为主的小团队使用Scala开发开发,其核心部分的代码只有63个Scala文件,非常轻量级。 Spark 提供了与 Hadoop 相似的开源集群计算环境,但基于内存和迭代优化的设计,Spark 在某些工作负载表现更优秀。
在2014上半年,Spark开源生态系统得到了大幅增长,已成为大数据领域最活跃的开源项目之一,当下已活跃在Hortonworks、IBM、Cloudera、MapR和Pivotal等众多知名大数据公司。那么Spark究竟以什么吸引了如此多的关注,这里我们看向Dzone上的6个总结。
(1) 轻量级快速处理。着眼大数据处理,速度往往被置于第一位,我们经常寻找能尽快处理我们数据的工具。Spark允许Hadoop集群中的应用程序在内存中以100倍的速度运行,即使在磁盘上运行也能快10倍。Spark通过减少磁盘IO来达到性能提升,它们将中间处理数据全部放到了内存中。
Spark使用了RDD(Resilient Distributed Dataset)的理念,这允许它可以透明的内存中存储数据,只在需要时才持久化到磁盘。这种做法大大的减少了数据处理过程中磁盘的读写,大幅度的降低了所需时间。
(2) 易于使用,Spark支持多语言。Spark允许Java、Scala及Python,这允许开发者在自己熟悉的语言环境下进行工作。它自带了80多个高等级操作符,允许在shell中进行交互式查询。
(3) 支持复杂查询。在简单的“map”及“reduce”操作之外,Spark还支持SQL查询、流式查询及复杂查询,比如开箱即用的机器学习机图算法。同时,用户可以在同一个工作流中无缝的搭配这些能力。
(4) 实时的流处理。对比MapReduce只能处理离线数据,Spark支持实时的流计算。Spark依赖Spark Streaming对数据进行实时的处理,当然在YARN之后Hadoop也可以借助其他的工具进行流式计算。对于Spark Streaming,Cloudera的评价是:
· 简单:轻量级且具备功能强大的API,Sparks Streaming允许你快速开发流应用程序。
· 容错:不像其他的流解决方案,比如Storm,无需额外的代码和配置,Spark Streaming就可以做大量的恢复和交付工作。
· 集成:为流处理和批处理重用了同样的代码,甚至可以将流数据保存到历史数据中。
5. 可以与Hadoop和已存Hadoop数据整合。Spark可以独立的运行,除了可以运行在当下的YARN集群管理之外,它还可以读取已有的任何Hadoop数据。这是个非常大的优势,它可以运行在任何Hadoop数据源上,比如HBase、HDFS等。这个特性让用户可以轻易迁移已有Hadoop应用,如果合适的话。
6. 活跃和无限壮大的社区。Spark起源于2009年,当下已有超过50个机构250个工程师贡献过代码,和去年六月相比,代码行数几乎扩大三倍,这是个令人艳羡的增长。