4

Python MRJob ライブラリを使用して mapreduce プログラムを実行しているときに、端末に中間値を表示する (つまり、変数またはリストを出力する) にはどうすればよいですか?

4

1 に答える 1

6

sys.stderr.write() を使用して、結果を標準エラーに出力できます。次に例を示します。

from mrjob.job import MRJob
import sys
class MRWordCounter(MRJob):
    def mapper(self, key, line):
        sys.stderr.write("MAPPER INPUT: ({0},{1})\n".format(key,line))
        for word in line.split():
            yield word, 1

    def reducer(self, word, occurrences):
        occurencesList= list(occurrences)
        sys.stderr.write("REDUCER INPUT: ({0},{1})\n".format(word,occurencesList))
        yield word, sum(occurencesList)

if __name__ == '__main__':
    MRWordCounter.run()
于 2013-02-06T10:50:58.990 に答える