上一篇
MapReduce中Mapper的Key在统计任务中如何有效应用?——实例代码解析
- 行业动态
- 2024-10-02
- 4
import sys 输入来自标准输入,通常是来自MapReduce框架 for line in sys.stdin: # 移除每行末尾的换行符 line = line.strip() # 分割每行成单词列表 words = line.split() # 遍历单词列表,为每个单词生成键值对 for word in words: # 输出单词作为键,1作为值 print(f"{word} 1")
这段代码的工作流程如下:
1、从标准输入(stdin)读取每一行。
2、使用strip()
方法移除每行末尾的换行符。
3、使用split()
方法按空格分割行,得到单词列表。
4、遍历单词列表,对于每个单词,打印出单词本身作为键(key),以及一个计数值(通常是1)作为值(value)。
这个Mapper的输出格式是“键 值”,这是MapReduce框架所期望的输出格式,每个键对应一个单词,值是该单词在输入中的出现次数,在MapReduce的后续步骤中,Reducer会接收这些键值对并进一步处理,以统计每个单词的总出现次数。