下面是一张生态图,主要的组件都是为了方便大家从底层的MapReduce模型中脱离出来,用高层语言来做分布式计算,下文将分别为你作简述。
1、HBase
是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化数据集群。像Facebook,都拿它做大型实时应用。
2、Hive
Facebook领导的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计。像一些data scientist 就可以直接查询,不需要学习其他编程接口。
3、Pig
Yahoo开发的,并行地执行数据流处理的引擎,它包含了一种脚本语言,称为Pig Latin,用来描述这些数据流。Pig Latin本身提供了许多传统的数据操作,同时允许用户自己开发一些自定义函数用来读取、处理和写数据。在LinkedIn也是大量使用。
4、Cascading/Scalding
Cascading是Twitter收购的一个公司技术,主要是提供数据管道的一些抽象接口,然后又推出了基于Cascading的Scala版本就叫Scalding。Coursera是用Scalding作为MapReduce的编程接口放在Amazon的EMR运行。
5、Zookeeper
一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现。
6、Oozie、Hadoop
一个基于工作流引擎的开源框架。由Cloudera公司贡献给Apache的,它能够提供对MapReduce和Pig Jobs的任务调度与协调。
7、Azkaban
跟上面很像,Linkedin开源的面向Hadoop的开源工作流系统,提供了类似于cron 的管理任务。
8、Tez
Hortonworks主推的优化MapReduce执行引擎,与MapReduce相比较,Tez在性能方面更加出色。