ワードカウントの例を使用して、Octo モジュールで mapreduce を学び始めました。dir hw3data 内の単語を数えようとします (以下に指定)。私の PC は、サーバーとクライアントの両方として機能します。
2つの端末でWindowsコマンドから始めました
server: octo.py server wordcount.py サーバー側は問題なく起動したようです
client: octo.py client localhost python は hw3data ディレクトリに保存した txt ファイルを見つけられないようです。だから誰でも助けることができますか?
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)