大数据基础处理框架

Apache Hadoop是批量数据处理框架,包括HDFS、YARN和MapReduce,适合处理大规模数据集。流处理系统如Apache Storm和Apache Samza提供实时处理,Storm适合低延迟场景,Samza则与Kafka紧密集成,两者都在Hadoop生态系统中占有一席之地。
摘要由CSDN通过智能技术生成

Apache Hadoop

Apache Hadoop 是一种专用于批处理的处理框架。Hadoop 是首个在开源社区获得极大关注的大数据框架。基于谷歌有关海量数据处理所发表的多篇论文与经验的 Hadoop 重新实现了相关算法和组件堆栈,让大规模批处理技术变得更易用。新版 Hadoop 包含多个组件,即多个层,通过配合使用可处理批数据。

| 组件名称 | 说明 |

| --- | --- |

| HDFS | HDFS 是一种分布式文件系统层,可对集群节点间的存储和复制进行协调。HDFS 确保了无法避免的节点故障发生后数据依然可用,可将其用作数据来源,可用于存储中间态的处理结果,并可存储计算的最终结果。 |

| YARN | YARN 是 Yet Another Resource Negotiator(另一个资源管理器)的缩写,可充当 Hadoop 堆栈的集群协调组件。该组件负责协调并管理底层资源和调度作业的运行。通过充当集群资源的接口,YARN 使得用户能在 Hadoop 集群中使用比以往的迭代方式运行更多类型的工作负载。 |

| MapReduce | MapReduce 是 Hadoop 的原生批处理引擎。 |

Hadoop 的处理功能来自 MapReduce 引擎。MapReduce 的处理技术符合使用键值对的 map、shuffle、reduce 算法要求。

  • 基本处理过程包括:

  1. 从 HDFS 文件系统读取数据集

  2. 将数据集拆分成小块并分配给所有可用节点

  3. 针对每个节点上的数据子集进行计算(计算的中间态结果会重新写入 HDFS)

  4. 重新分配中间态结果并按照键进行分组

  5. 通过对每个节点计算的结果进行汇总和组合对每个键的值进行“Reducing”

  6. 将计算而来的最终结果重新写入 HDFS

  • 优势和局限

  1. 由于这种方法严重依赖持久存储,每个任务需要多次执行读取和写入操作,因此速度相对较慢。但另一方面由于磁盘空间通常是服务器上最丰富的资源,这意味着 MapReduce 可以处理非常海量的数据集。同时也意味着相比其他类似技术,Hadoop 的 MapReduce 通常可以在廉价硬件上运行,因为该技术并不需要将一切都存储在内存中。MapReduce 具备极高的缩放潜力,生产环境中曾经出现过包含数万个节点的应用。

  2. MapReduce 的学习曲线较为陡峭,虽然 Hadoop 生态系统的其他周边技术可以大幅降低这一问题的影响,但通过 Hadoop 集群快速实现某些应用时依然需要注意这个问题。

  3. 围绕 Hadoop 已经形成了辽阔的生态系统,Hadoop 集群本身也经常被用作其他软件的组成部件。很多其他处理框架和引擎通过与 Hadoop 集成也可以使用 H

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值