互联网公司从来不缺少创新,加上开源社区的巨大号召力,大数据工具真是日新月异,应用开发人员刚刚熟悉1.0时代的一些工具,2.0的时代的新工具又来了,这对大数据技术发展是好事,不过,对开发和应用人员来说,学习起来的确有些辛苦!赛智时代(CIOManage咨询)近期在进行《2013-2014年中国互联网公司大数据应用研究报告》研究中整理了这些工具:
在1.0时代的工具有:Hadoop,MapReduce,HDFS,HBase,Hive,Pig,Mahout,ZooKeeper,Sqoop,Flume,Cascading,
Avro, Scribe, Oozie,
Ambari,
Chukwa 等。
在2.0时代的工具有:
Yarn, Tez, Stinger,Parquet,
Impala,
Presto, Drill, Corona, Spark,Samza,Storm,Kafka,
Mesos, Summingbird,Peregrine,Marathon等(有关1.0和2.0的归类未必准确,权且按照工具新鲜度这样列出)。
MapReduce在Hadoop
0.23经历了一次大规模更新,新版本的MapReduce2.0被称为YARN或MRv2。YARN将JobTracker的两个主要功能(资源管理和作业调度/监控)分离,主要方法是创建一个全局的ResourceManager(RM)和若干个针对应用程序的ApplicationMaster(AM)。
Tez是构架在YARN上底层数据交互式处理的执行引擎,它以MapReduce、Hive、Pig、Cascading为基础,实现作业的流水线操作
Parquet是Twitter开源的供Hadoop使用的列式存储格式。Parquet为Hadoop生态系统中的所有项目提供支持高效率压缩的列式数据表达,而且与数据处理框架、数据模型或编程语言都没有关系。
Stinger是Hortonworks公司的Apache开源项目,是对Hive进行优化的项目。
Impala是Cloudera公司的实时查询开源项目,据其官网的产品实测表明Impala比原来基于MapReduce的Hive
QL查询速度提升3~90倍。
Presto是Facebook最新的交互式大数据查询系统,类似于Cloudera的Impala和Hortonworks的Stinger,解决了Facebook迅速膨胀的海量数据仓库快速查询需求。
Peregrine是Facebook收购的一个工具,能更快速地检索Hadoop数据,使平台检索更贴近实时情况。
谷歌的Dremel是一个交互式的查询工具,它能以极快的速度处理网络规模的海量数据。据谷歌的研究报告显示,Dremel能以PB的数量级来进行查询,而且查询只需几秒钟时间就能完成。而其对应的Apache开源版本就是Drill。Drill是一个专为互动分析大型数据集的分布式系统。
Spark已正式申请加入Apache孵化器,它发源于美国加州大学伯克利分校AMPLab的集群计算平台,它立足于内存计算,从多迭代批量处理出发,兼收数据仓库、流处理和图计算等多种计算范式。它扩展了MapReduce模型以更好地支持两类分析应用:一是迭代算法(如机器学习和图分析),二是互动的数据挖掘。
Samza是LinkedIn的开源,它是一个分布式流处理框架,专用于实时数据的处理,类似Twitter的流处理系统Storm。不同的是Samza基于Hadoop,而且使用了LinkedIn的Kafka分布式消息系统。
Storm是Twitter的开源流计算平台。
Kafka是linkedin开源的一个高吞吐量分布式消息系统。
Corona是Facebook开源的架构,用来调度和管理Hadoop
作业,它解决了Hadoop在大规模集群运维上的问题。
Apache
Mesos是Twitter开源的集群管理器,可以让用户在同一时间同意集群上运行多个Hadoop任务或其他高性能应用。
Marathon是一个全新的框架,出自于一家初创公司Mesosphere,它将Mesos变成一个更有活力的工具,进而可以在单一的集群上运行不同的应用程序。
Summingbird
是Twitter开源的数据分析工具,它更注重于流处理与批处理的无缝整合,以及编程语言的原生化。可以使用Summingbird做“批处理”(Scalding),也可以使用它做“实时处理”(使用Storm);同时,还可以使用两种模式的混合给应用程序带来很好的容错性。
Scuba是Facebook的内存数据库,它将所有数据运行在数以百计的服务器的内存中,可以帮助实时分析数据,并描述出大量基础设施的使用状态。
Giraph是Facebook的开源图算法模型,它可以被看成是Google
Pregel迭代计算模型的开源版本:在这个以结点为中心的模型的每次迭代计算中,结点处理上次收到的消息,发送消息给其他结点,并且改变自身结点、边或者拓扑结构。
Prism是Facebook的项目,能够运行一个超大的、能够将全球数据中心都连起来的Hadoop集群。
细细看来,这些工具主要来自twitter、facebook等社交网络公司,以及和它们有关的Cloudera等公司。工具还在不断开发,大数据技术也逐步登峰造极!
加载中,请稍候......