mapreduce wordcount示例在使用Octo模块



我刚开始学习mapreduce与Octo模块与单词计数的例子。我尝试计数在目录hw3data中的单词(如下所示)。我的电脑既是服务器又是客户端。

我从windows cmd开始,有两个终端

server: oct .py server wordcount.py似乎服务器端启动没有问题

client: oct .py client localhost似乎python找不到我存储在hw3data目录中的txt文件,所以它说no work, sleeping。有人能帮忙吗?

wordcount.py代码在

下面

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)

验证您的数据文件名称中是否包含".txt"。我现在正在做作业#3中的这道题。好运!

修改以下代码

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

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

和尝试。我猜文件夹里的文件没有扩展名

相关内容

  • 没有找到相关文章