hadoop-mapreduce词频统计

一、Map Reduce主要阶段

二、词频统计示例

0.MapReduce 词频统计(Word Count)示例图

1. Input 阶段(输入阶段)

输入数据是一段文本,如下:

复制代码
Hadoop is a big data framework.
Hadoop can store vast data.
Hadoop processes big data.
Hadoop can analyze vast data.
Hadoop is easy.

2. Split 阶段(数据分割阶段)

输入数据被切分为更小的部分 ,每个部分对应一行文本。
作用: 将输入数据分配给不同的 Mapper 任务,实现并行处理。

复制代码
Split 1: Hadoop is a big data framework.
Split 2: Hadoop can store vast data.
Split 3: Hadoop processes big data.
Split 4: Hadoop can analyze vast data.
Split 5: Hadoop is easy.

3. Mapper Phase(映射阶段)

每个 Mapper 任务读取一个输入块,应用用户定义的 Map 函数。

Map 函数会将输入文本解析为单词,并为每个单词输出一个键值对 (Key-Value Pair),形式为 <单词, 1>。
**例如:

  • 输入:Hadoop is a big data framework.

  • 输出:<Hadoop, 1>, <is, 1>, <a, 1>, <big, 1>, <data, 1>, <framework, 1>
    作用:**Map 阶段的任务是将原始数据转化为键值对,并提取有用信息。

    Mapper 输出:

    Split 1: <Hadoop, 1>, <is, 1>, <a, 1>, <big, 1>, <data, 1>, <framework, 1>
    Split 2: <Hadoop, 1>, <can, 1>, <store, 1>, <vast, 1>, <data, 1>
    Split 3: <Hadoop, 1>, <processes, 1>, <big, 1>, <data, 1>
    Split 4: <Hadoop, 1>, <can, 1>, <analyze, 1>, <vast, 1>, <data, 1>
    Split 5: <Hadoop, 1>, <is, 1>, <easy, 1>

4. Shuffle and Sort 阶段(洗牌和排序阶段)

洗牌(Shuffle):

将 Mapper 阶段输出的键值对,根据键(单词)进行分组

所有相同键的键值对被发送到同一个 Reducer 任务。
例如:来自不同 Mapper 的 <Hadoop, 1> 被收集到一起:<Hadoop, [1, 1, 1, 1, 1]>

排序(Sort):

对每个键值对按照键排序(升序)。

图中展示了 Hadoop、is、a 等单词被分组和排序。

作用:实现数据分布和排序,为 Reduce 阶段的处理做好准备。

5. Reduce Phase(归约阶段)

Reduce 函数对每个键及其关联的值列表进行聚合计算
**示例:

  • 输入:<Hadoop, [1, 1, 1, 1, 1]>
  • Reduce 计算:对列表中的值进行累加:1 + 1 + 1 + 1 + 1 = 5
  • 输出:<Hadoop, 5>**

其他 Reduce 结果:

  • <is, 2>

  • <a, 1>

  • <big, 2>

  • <data, 4>

  • <framework, 1>

  • <easy, 1>

作用:Reduce 阶段将分组后的数据进行汇总、聚合、统计,生成最终结果。

6. output阶段(输出阶段)

复制代码
a, 1
analyze, 1
big, 2
can, 2
data, 4
easy, 1
framework, 1
Hadoop, 5
is, 2
processes, 1
store, 1
vast, 2

三、过程总结

参考资料

https://www.youtube.com/watch?v=aReuLtY0YMI

相关推荐
随心............13 小时前
在开发过程中遇到问题如何解决,以及两个经典问题
hive·hadoop·spark
yumgpkpm1 天前
CMP (类ClouderaCDP7.3(404次编译) )华为鲲鹏Aarch64(ARM)信创环境 查询2100w行 hive 查询策略
数据库·数据仓库·hive·hadoop·flink·mapreduce·big data
K_i1342 天前
Hadoop 集群自动化运维实战
运维·hadoop·自动化
Q26433650232 天前
【有源码】基于Python与Spark的火锅店数据可视化分析系统-基于机器学习的火锅店综合竞争力评估与可视化分析-基于用户画像聚类的火锅店市场细分与可视化研究
大数据·hadoop·python·机器学习·数据分析·spark·毕业设计
顧棟2 天前
【Yarn实战】Yarn 2.9.1滚动升级到3.4.1调研与实践验证
hadoop·yarn
D明明就是我3 天前
Hive 拉链表
数据仓库·hive·hadoop
嘉禾望岗5033 天前
hive join优化和数据倾斜处理
数据仓库·hive·hadoop
yumgpkpm3 天前
华为鲲鹏 Aarch64 环境下多 Oracle 数据库汇聚操作指南 CMP(类 Cloudera CDP 7.3)
大数据·hive·hadoop·elasticsearch·zookeeper·big data·cloudera
忧郁火龙果3 天前
六、Hive的基本使用
数据仓库·hive·hadoop
忧郁火龙果3 天前
五、安装配置hive
数据仓库·hive·hadoop