Hadoop大数据开发案例教程与项目实战(在线实验+在线自测)
上QQ阅读APP看书,第一时间看更新

1.2 Hadoop相关项目

在Apache项目中和Hadoop相关联的项目有很多,常见的项目包括:

(1)Ambari。

Apache Ambari是一种基于Web的工具,支持Apache Hadoop集群的供应、管理和监控。Ambari目前已支持大多数Hadoop组件,包括HDFS、MapReduce、Hive、Pig、Hbase、Zookeeper、Sqoop和Hcatalog等。Ambari也提供了一种仪表盘用来查看集群健康状况,Pig和Hive以友好的方式展示特有的特征。

(2)Avro。

Avro是一个比较流行的数据序列化系统,可以提供丰富的结构类型,快速可压缩的二进制数据格式,存储持久化数据,支持远程过程调用协议(Remote Procedure Call Protocol,RPC)。

(3)Cassandra。

Cassandra是一套开源分布式NoSQL数据库系统。它最初由Facebook开发,用于储存收件箱等简单格式数据,集合Google BigTable的数据模型与Amazon Dynamo的完全分布式的架构于一身。Facebook于2008年将 Cassandra 开源,此后,由于Cassandra良好的可扩展性,被Digg、Twitter等知名Web 2.0网站所采纳,成为了一种流行的分布式结构化数据的存储方案。

(4)Chukwa。

Chukwa是一个开源的用于监控大型分布式系统的数据收集系统。它构建在Hadoop的HDFS和Map/Reduce框架之上,继承了Hadoop的可伸缩性和健壮性。Chukwa还包含了一个强大和灵活的工具集,可用于展示、监控和分析已收集的数据。

(5)Hbase。

Hbase是一个分布式的,面向列的开源数据库,可以称为Hadoop的标准数据库,也是一款比较流行的NoSQL数据库,由Google公司发表的论文BigTable经过演变而来,Hbase在Hadoop之上提供了类似BigTable的能力,主要解决非关系型数据存储问题。

(6)Hive。

Hive 本身是建立在Hadoop体系结构上的数据仓库基础构架,可以将结构化的数据文件映射为一张数据库表,并提供完整的查询语言(QueryLanguage,QL)语句,把QL语句转化成MapReduce程序提交给Hadoop集群完成相关任务。它提供了一系列的工具,可以用来进行数据提取转化加载(Extract-Transform-Load,ETL),这是一种可以存储、查询和分析并存储在Hadoop中的大规模数据处理的机制。

(7)Mahout。

Mahout是阿帕奇软件基金会(Apache Software Foundation,ASF)旗下的一个开源项目,提供一些可扩展的机器学习领域经典算法的实现,旨在帮助开发人员更加方便快捷地创建智能应用程序。Mahout包含许多实现,包括聚类、分类、推荐过滤、频繁子项挖掘。此外,通过使用Apache Hadoop库,Mahout可以有效地扩展到云中。

(8)Pig。

Pig是一个基于Hadoop的大规模数据分析平台,它提供的SQL-LIKE语言叫Pig Latin,该语言的编译器会把类 SQL 的数据分析请求转换为一系列经过优化处理的 MapReduce 运算。Pig为复杂的海量数据并行计算提供了一个简单的操作和编程接口。

(9)Spark。

Apache Spark是一个快速和通用的集群计算系统。它还支持一组丰富的高级工具,包括Spark SQL、SQL和结构化数据处理、MLlib机器学习、GraphX图形处理、Spark流。

(10)Zookeeper。

Zookeeper 是一个能够高效开发和维护分布式的开放源码的应用协调服务,是 Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括维护配置信息、名字服务、分布式同步、组服务等。这些服务都被应用在分布式应用程序或其他一些形式。