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

相关推荐
牛奶咖啡1311 小时前
大数据Hadoop运维应用实践——Hadoop平台常见问题与故障汇总、系统调优、网络规划与硬件存储选型
大数据·hadoop·hadoop集群操作系统调优·hadoop集群运维问题汇总·hadoop集群硬件规划·大数据平台网络规划·大数据平台硬件存储选型
雨晨源码(同名B站)11 小时前
基于Python的网易云音乐评论数据情感化分析系统 音乐爬虫信息可视化 |SnowNLP评论情感分析
开发语言·hadoop·爬虫·python·信息可视化·毕业设计
赤土 炙焱1 天前
hiveserver2启动失败,磁盘满了
hive·hadoop
Francek Chen2 天前
【大数据处理与分析】数据仓库Hive:02 数据湖
大数据·数据仓库·hive·hadoop·分布式·数据分析
Blossom i4 天前
Python+spark2.0+Hadoop机器学习与大数据实战第十一章:Python Spark的集成开发环境
大数据·hadoop·spark
我要用代码向我喜欢的女孩表白4 天前
hdfs获取所有路径大小的脚本
大数据·hadoop·hdfs
Waay4 天前
什么是HBase?它和Hive有什么区别?
大数据·数据库·hive·hadoop·hdfs·hbase
fastjson_5 天前
Hadoop之Yarn
大数据·hadoop·npm
fastjson_6 天前
Hive的介绍和使用
数据仓库·hive·hadoop
光电的一只菜鸡7 天前
小白从零开始学agent(二)——如何高效编写 Prompt 与 Skill
hadoop·microsoft·prompt