购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.3 Hadoop生态系统

Hadoop经过多年的发展,已经形成了一个相当成熟的生态系统。现代生活节奏快速,各行各业无时无刻产生着大量的数据,Hadoop发挥着重要的作用。因为各行各业的需求不同,很多时候需要在Hadoop的基础上进行一些改进和优化,也因此产生了许多围绕Hadoop衍生的工具,逐渐地演变成一个庞大的Hadoop生态系统,如图2-5所示。

图2-5 Hadoop生态系统

Hadoop生态系统中常用的组件列举如下,不同的组件分别提供特定的服务。

1)Hive。Hive是建立在Hadoop基础上的数据仓库基础框架,提供了一系列工具,可存储、查询和分析存储在Hadoop中的大规模数据。Hive定义了一种类SQL语言为HQL,该语言编写的查询语句在Hive的底层将转换为复杂的MapReduce程序,运行在Hadoop大数据平台上。

2)ZooKeeper。ZooKeeper主要用于保证集群各项功能的正常进行,并能够在功能出现异常时及时通知集群进行处理,保持数据一致性。ZooKeeper是对整个集群进行监控,可解决分布式环境下的数据管理问题。

3)HBase。HBase是一个针对非结构化数据的可伸缩、高可靠、高性能、分布式和面向列的动态模式数据库。HBase提供了对大规模数据的随机、实时读写访问。同时,HBase中保存的数据可以使用MapReduce进行处理。HBase将数据存储和并行计算很好地结合在一起。

4)Spark。Spark是一种快速、通用、可扩展的大数据处理引擎,继承了MapReduce分布式计算的优点并改进了MapReduce明显的缺点。Spark的中间输出结果可以保存在内存中,因此能更好地适用于数据挖掘与机器学习中迭代次数较多的算法。

5)Flume。Flume是Cloudera提供的一个高可用的、高可靠的、分布式的海量日志采集、聚合和传输系统,适用于日志文件的采集。

6)Kafka。Kafka是一个分布式的基于发布/订阅模式的消息队列,主要应用于大数据实时处理领域。Kafka是一个事件流平台,能够连接其他数据源进行持续的数据导入或导出,并且可以根据需求持久可靠地存储数据。 sL7pnq4zd2wAX8QREGkRWG2k9GFPU3xJdE76PCEz/AhMoFZirfVKPrYQh2PwzkT6

点击中间区域
呼出菜单
上一章
目录
下一章
×