1

Pig ジョブを実行していましたが、コマンドをスクリーニングするのを忘れていました。ジョブの大部分が終了したとき (4 時間のマッピング)、おそらく Pig が実行されなくなったため、reduce フェーズは開始されませんでした。pig_tmp にマッパーからの出力がありますが、Piglatin でそれをリロードする方法がわかりません。

マップ部分 (私が推測) は を使用してSTREAMINGおり、出力は (chararray、float、float) でした。

Pig Docsによると、Pig はBinStorage()「複数の MapReduce ジョブ間で生成される一時データをロードして保存する」ために使用します。これに基づいて、運が悪かったので次のことを試しました:

A = LOAD '.pig_tmp/tmp-238234234/tmp23423423/part-m-00000' 
    USING BinStorage() AS (col1:chararray, col2:float, col3:float);
DUMP A;
-- "Inputs(s): Successfully read 0 records (5402065 bytes) from "..."

運が悪いので、列に型を付けないでください:

A = LOAD '.pig_tmp/tmp-238234234/tmp23423423/part-m-00000' 
    USING BinStorage() AS (col1, col2, col3);
DUMP A;
-- "Inputs(s): Successfully read 0 records (5402065 bytes) from "..."

まだ運がないので、列を試していません

A = LOAD '.pig_tmp/tmp-238234234/tmp23423423/part-m-00000' 
    USING BinStorage();
DUMP A;
-- "Inputs(s): Successfully read 0 records (5402065 bytes) from "..."

「AS (...)」ブロックの 1、2、3、4、および 5 列でこれを繰り返しました。おそらく、Pig がそこにいくつかの列を追加していると考えました。運もありません。

ファイルの出力を表示すると、明らかにバイナリ データです (前述のように 5 MB の大きさです)。

4

0 に答える 0