我刚刚开始使用 Octo 模块和字数统计示例来学习 mapreduce。我尝试计算目录 hw3data 中的单词(如下所示)。我的电脑既是服务器又是客户端。
我从带有 2 个终端的 windows cmd 开始
server: octo.py server wordcount.py 看来服务器端启动没有问题
client: octo.py client localhost 貌似python找不到我存放在hw3data目录下的txt文件,所以说no work,sleeping。所以有人可以帮忙吗?
wordcount.py 代码如下
字数.py
服务器
import glob
text_files=glob.glob('C:/Python27/octopy-0.1/hw3data/*.txt')
def file_contents(file_name):
f=open(file_name)
try:
return f.read()
finally:
f.close()
source=dict((file_name,file_contents(file_name)) for file_name in text_files)
f=open('outfile','w')
def final(key,value):
print key,value
f.write(str((key,value)))
客户
def mapfn(key,value):
for line in value.splitlines():
for word in line.split():
yield word.lower(),1
def reducefn(key,value):
return key,len(value)