0

我刚刚开始使用 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)
4

2 回答 2

1

验证您的数据文件的名称中是否包含“.txt”。我目前正在为我的作业#3解决这个问题。祝你好运!

于 2013-05-02T04:12:34.463 回答
0

更改以下代码

text_files=glob.glob('C:/Python27/octopy-0.1/hw3data/*.txt')

text_files=glob.glob('C:/Python27/octopy-0.1/hw3data/*')

并尝试。我猜文件夹中的文件没有扩展名。

于 2013-06-02T16:13:50.870 回答