我刚开始用Octo模块学习mapreduce,并带有单词计数示例。我试着计算dir hw3data中的单词(如下所述)。我的电脑既是服务器又是客户端。
我开始使用带有2个终端的Windows cmd
server:octo.py server wordcount.py 似乎服务器端启动没有问题
客户端:octo.py客户端localhost 似乎python找不到我存储在hw3data目录中的txt文件,所以它说没有工作,睡觉。那么任何人都可以提供帮助吗?
wordcount.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)
答案 0 :(得分:1)
验证您的数据文件名称中是否包含“.txt”。我目前正在解决这个问题到我的作业#3。祝你好运!
答案 1 :(得分:0)
更改以下代码
text_files=glob.glob('C:/Python27/octopy-0.1/hw3data/*.txt')
到
text_files=glob.glob('C:/Python27/octopy-0.1/hw3data/*')
然后试试。我猜文件夹中的文件没有扩展名。