条件,假设hadoop环境和python环境已经安装好,且hadoop已正常启动
Hadoop Streaming提供了编写MapReduce程序的map和reduce的一种方式,Map 和 Reduce间传递数据通过STDIN (标准输入)和STDOUT (标准输出)来实现的。我们仅仅使用Python的sys.stdin来输入数据,使用sys.stdout输出数据.下面介绍如何用Python编写一个WordCount实例程序。
map过程的python源文件wc_map.py:
#!/usr/bin/env python
import sys
for line in sys.stdin:
line = line.strip()
words = line.split()
for word in words:
print '%s %d' % (word,1)
reduce过程的python源文件wc_red.py:
#!/usr/bin/env python
import sys
wdict = {}
for line in sys.stdin: