互联网公司从来不缺少创新,加上开源社区的巨大号召力,大数据工具真是日新月异,应用开发人员刚刚熟悉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, Impala,
Presto, Drill, Corona,
Spark,Samza,Storm,Kafka,Mesos,
Summingbird,Peregrine,Nocron,Puma,Marathon等(有关1.0和2.0的归类未必准确,权且按照工具新鲜度这样列出)。
本博客分上、下两篇文章分别简单介绍:
Hadoop是一个分布式文件系统和并行执行环境,可以让用户便捷地处理海量数据。Hadoop由 Apache 软件基金会于 2005
年秋天作为Lucene的子项目Nutch的一部分正式引入,2006年Nutch分布式文件系统 (NDFS)和 MapReduce
分别被纳入Hadoop 的项目中。
MapReduce一个分布式并行计算软件框架,基于Map(可理解为“任务分解”)和Reduce(可理解为“综合结果”)的Java函数,基于MapReduce写出来的应用程序能够运行在由上千个普通机器组成的大型集群上,并以一种可靠容错的方式并行处理TB级别以上的数据集。
HDFS是Hadoop分布式文件系统,分布式文件系统运行于大规模集群之上,集群可使用廉价的普通机器构建,整个文件系统采用的是元数据集中管理与数据块分散存储相结合的模式,并通过数据的复制来实现高度容错。
基于列存储的开源非关系型数据库(NoSQL数据库),是key-value数据库系统,HBase直接运行在
Hadoop上。
Hive 是由Facebook贡献的数据仓库工具,是MapReduce
实现的用来查询分析结构化数据的中间件。Hive的类
SQL
查询语言Hive QL可以查询和分析储存在
Hadoop
中的大规模数据。
Pig是基于Hadoop的并行计算高级编程语言,它提供类SQL的数据分析高级文本语言,称为Pig Latin,该语言的编译器会把类SQL的数据分析请求转换为一系列经过优化处理的MapReduce运算。
Apache Mahout
项目提供分布式机器学习和数据挖掘库。
Zookeeper是分布式锁设施,是一个分布式应用程序的集中配置管理器,用于分布式应用的高性能协同服务,由Facebook贡献。可以独立于
Hadoop 使用。
Flume是Cloudera开发和提供的日志收集系统,提供一个可靠的分布式流数据收集服务。
Scribe
是由Facebook 开发,作为开源程序发布,用于聚合来自很大数量 Web 服务器的日志数据。
Oozie是一个基于服务器的工作流引擎,专门调度和运行执行 Hadoop 作业(如
MapReduce、Pig、Hive、Sqoop、HDFS 操作) 的工作流。
Cascading 是编写复杂 MapReduce 应用程序的抽象层,是一个瘦
Java
库,通常被作为查询 API
和进程调度器使用的命令行调用。
Avro是数据序列化格式与传输工具。
Ambari是Hadoop管理工具,可以快捷的监控、部署、管理集群。
Chukwa是用于管理大规模分布式集群的数据收集系统。
HCatalog是基于Apache Hadoop之上的数据表和存储的管理服务。
有遗漏请读者补偿。
加载中,请稍候......