Hadoop プログラムを実行しており、入力ファイルinput.txtとして次のものがあります。
1
2
mapper.py :
import sys
for line in sys.stdin:
print line,
print "Test"
reducer.py :
import sys
for line in sys.stdin:
print line,
Hadoop なしで実行すると: $ cat ./input.txt | ./マッパー.py | ./reducer.py、出力は期待どおりです。
1
2
Test
ただし、ストリーミング API を介して Hadoop を介して実行すると (ここで説明されているように)、出力の後半部分がやや「2 倍」に見えます。
1
2
Test
Test
さらに、Hadoop を介してプログラムを実行すると、これが原因で失敗する可能性が 1/4 のようです。
エラー: 失敗したマップ タスクの数が許可された制限を超えました。失敗数: 1。
私はこれをしばらく見てきましたが、何が得られていないのかわかりません。誰かがこれらの問題を助けることができれば、私はそれを大いに感謝します! ありがとう。
編集: input.txtの場合:
1
2
3
4
5
6
7
8
9
10
出力は次のとおりです。
1
10
2
3
4
5
6
7
8
9
Test
Test