次の形式のデータがあります。
37101000ssd48800^A1420asd938987^A2011-09-10^A18:47:50.000^A99.00^A1^A0^A
37101000sd48801^A44557asd03082^A2011-09-06^A13:24:58.000^A42.01^A1^A0^A
だから最初に文字通りそれを取り、試しました:
line = line.split("^A")
そしてまた
line = line.split("\\u001")
したがって、問題は次のとおりです。
これを行うと、最初のアプローチはローカルマシンで機能します。
cat input.txt | python mapper.py
ローカルでは正常に実行されますが (input.txt は上記のデータです)、Hadoop ストリーミング クラスターでは失敗します。
"\\u001"
区切り文字として使用する必要があると誰かに言われましたが、これもローカル マシンでもクラスターでも機能しません。
Hadoop 関係者向け:
次を使用してローカルでデバッグする場合:
cat input.txt | python mapper.py | sort | python reducer.py
これは"^A"
、ローカルで区切り記号として使用すると問題なく実行されますが、クラスターで実行するとエラーが発生し、エラーコードもあまり役に立ちません...
これをデバッグするにはどうすればよいですか?
ありがとう