2013-05-31 13 views
1

我正在使用wordcount示例在我的筆記本電腦上學習/測試mrjobs。本地MRJobs的輸入文件

我能夠提供本地文件在命令模式下輸入,但不知道如何從python腳本中做同樣的事情。

非常感謝一個簡單的例子。

感謝 Ananth

+0

你說的是哪python腳本?你幾乎總是開始一個mjjob,並從命令行指定輸入。 – jkgeyti

+0

我想你想這個:http://stackoverflow.com/questions/12569261/how-does-one-specify-the-input-file-for-a-runner-from-python – Frank

+0

@jkgeyti但是,如果我們想要從程序內部輸入該輸入而不是從命令行輸入? –

回答

0

不太明白你問什麼,但我猜你正在尋找這樣的事情

[[email protected] code]# cat mr_example.py 

from mrjob.job import MRJob 

class MRWordFrequencyCount(MRJob): 

    def mapper(self, _, line): 
     yield "chars", len(line) 
     yield "words", len(line.split()) 
     yield "lines", 1 

    def reducer(self, key, values): 
     yield key, sum(values) 

if __name__ == '__main__': 
    MRWordFrequencyCount.run() 

[[email protected] code]# cat test_file 
aaaa 
dd dx csadsad 
2321 dasdtokcmk 
mii xsa 
xaaaa 
casd 

[[email protected] code]# python mr_example.py test_file 
... 
"chars" 50 
"lines" 6 
"words" 10