Hadoop生态系统简介

来源:互联网 发布:上海ug编程培训021ug 编辑:程序博客网 时间:2024/05/07 02:52

Hadoop生态系统主要包括:Hive、HBase、Pig、Sqoop、Flume、ZooKeeper、Mahout、Spark、Storm、Shark、Phoenix、Tez、Ambari。

Hive:用于Hadoop的一个数据仓库系统,它提供了类似于SQL的查询语言,通过使用该语言可以方便地进行数据汇总,特定查询以及分析存放在Hadoop兼容文件系统中的大数据。

HBase:一种分布的、可伸缩的、大数据存储库,支持随机、实时读/写访问。

Pig:分析大数据集的一个平台,该平台由一种表达数据分析程序的高级语言和对这些程序进行评估的基础设施一起组成。

Sqoop:为高效传输批量数据而设计的一种工具,用于Apache Hadoop和结构化数据存储库如关系型数据库之间的数据传输。

Flume:一种分布式的、可靠的、可用的服务,其用于高效搜集、汇总、移动大量日志数据。

ZooKeeper:一种集中服务,用于维护配置信息,命名,提供分布式同步,以及提供分组服务。

Mahout:一种基于Hadoop的机器学习和数据挖掘的分布式计算框架算法集,实现了多种MapReduce模式的数据挖掘算法。

Spark:一个开源数据分析集群计算框架,最初由加州大学伯克利分校AMPLab开发,建立于HDFS之上。Spark与Hadoop一样用于构建大规模、低延时的数据分析应用。采用Scala语言实现,使用Scala作为应用框架。

Storm:一个分布式的、容错的实时计算系统,有BackType开发,后被Twitter收购。Storm属于流处理平台,多用于实时计算并更新数据库。Storm也可以用于“连续计算”(continuous computation),对数据流做连续查询,在计算时就将结果以流的形式输出给用户。它还可以用于“分布式RPC”,以并行的方式运行大型的运算。

Shark:即Hive on Spark,一个专门为Spark打造的大规模数据仓库系统,兼容Apache Hive。无需修改现有的数据或者查询,就可以用100倍的速度执行Hive QL。Shark支持Hive查询语言、元存储、序列化格式及自定义函数,与现有Hive部署无缝集成,是一个更快、更强大的替代方案。

Phoenix:一个构建在Apache HBase之上的SQL中间层,完全使用Java编写,提供了一个客户端可嵌入的JDBC驱动。Phoenix查询引擎会将SQL查询转换为一个或多个HBase scan,并编排执行以生成标准的JDBC结果集。直接使用HBase API、协同处理器与自定义过滤器,对于简单查询来说,其性能量级是毫秒,对于百万级别的行数来说,其性能量级是秒。

Tez:一个基于Hadoop YARN之上的DAG(有向无环图,Directed Acyclic Graph)计算框架。它把Map/Reduce过程拆分为若干个子过程,同时可以把多个Map/Reduce任务组合成一个较大的DAG任务,减少了Map/Reduce之间的文件存储。同时合理组合其子过程,减少任务的运行时间。

Ambari:一个供应、管理和监视Apache Hadoop集群的开源框架,它提供了一个直观的操作工具和一个健壮的Hadoop API,可以隐藏复杂的Hadoop操作,使集群操作大大简化。

0 0
原创粉丝点击