Map 的作用,即数据的映射,用于把一组键值对映射成另一组新的键值对。 白话就是对数据按照一定的格式进行归整。 举个例子,有一遍文章,需要对文章中出现过的相同的单词进行归类,期望结果如下: 将map的输出作为reduce的输入的过程就是shuffle了,这个是mapreduce优化的重点地方。
代码语言:javascript复制{"1", "are" : 1}
{"1", "are" : 1}
代码语言:javascript复制#encodeing=utf-8
import sys
for line in sys.stdin:
ss = line.strip().split(' ')
for word in ss:
print 't'.join([word.strip(), '1'])
测试数据: THE_MAN_OF_PROPERTY.txt
,这里存一篇网上随机找的一篇英文长篇文章。
执行命令,并打印结果:
代码语言:javascript复制cat `THE_MAN_OF_PROPERTY.txt` | `python map.py` | `sort -k 1 > 1.txt`
结果:
代码语言:javascript复制to 1
to 1
to 1
today 1
tool 1
topic 1
two 1
two 1
···
variants 1
variants 1
variants 1
···