0

ubuntuでhadoopをセットアップし、サンプルコードを実行してテストしました。一般的な例の 1 つは、https://github.com/tomwhite/hadoop-book/tree/master/ch02/src/main/pythonです。

サンプル ファイル ( https://github.com/tomwhite/hadoop-book/blob/master/input/ncdc/sample.txt ) を使用してこのコードをテストしました。ただし、データ ファイルに従ってマッパー コードを変更すると、リデューサーは 0% から 33% になり、その後 0% に戻ります。なぜそれが起こるのか、またはコードをどのように変更すればよいのか、誰でも助けてくれますか? 私のデータは次のようになります。

STN---,WBAN , YEARMODA,   TEMP,  ,   DEWP,  ,  SLP  ,  ,  STP  ,  , VISIB,  ,  WDSP,  , MXSPD,  GUST,   MAX  ,  MIN  ,PRCP  ,SNDP , FRSHTT,


690190,13910, 20120101,   42.9,18,   29.4,18, 1033.3,18,  968.7,18,  10.0,18,   8.7,18,  15.0, 999.9,   52.5*,  31.6*, 0.00I,999.9, 000000,
4

1 に答える 1

0

ジョブ トラッカーを確認すると、マップ タスクが失敗し、別のノードで実行するように再スケジュールされていることがわかります (最終的にジョブは失敗します)。これはおそらく python スクリプトがエラーをスローしたことが原因であるため、(まだこれを行っていない場合) サンプル データをマッパーにパイプして結果を確認することをお勧めします。

たとえば、私はあなたのデータを取得し、リンクされた python マッパーを介して実行しました (抽出された列を表示するための追加の println を使用):

#> cat data.csv | python map.py
EARM  MXSP D


0120   15. 0
0120      15.

質問に記載されているように、明らかにマッパーが修正されているため、Pythonスクリプトがサンプルデータをエラーなしで処理することを確認する必要があります。エラーなしで実行された場合は、失敗したマップ タスクのログを確認する必要があります (質問に投稿してください)。

于 2013-06-28T01:27:04.247 に答える