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会接收这些键值对并进一步处理,以统计每个单词的总出现次数。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1123099.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复