0

次の PIG スクリプトがあります。

A = LOAD 'text_a.txt' USING PigStorage();
B = LOAD 'text_b.txt' USING PigStorage();
SOMETHING = FILTER A $0 matches 'SOMETHING';
FOOBAR = FILTER A $0 matches 'FOOBAR';

SOMETHING_B = JOIN SOMETHING BY key, B BY $1;
FOOBAR_B = JOIN FOOBAR BY key, B BY $1;
TEMP = JOIN SOMETHING_B BY key, FOOBAR_B by key;
OUT = FOREACH TEMP GENERATE SOMETHING_B::$1 - FOOBAR_B::$1; 
dump OUT;

このスクリプトを実行すると、A と B のデータがソースから 2 回読み取られているように見えますか? 二度目に読まれないようにする方法はありますか?

4

1 に答える 1

0

まず、スクリプトの最後に「EXPLAIN OUT」を付けて、データが2回読み取られているかどうかを確認します。

あなたのスクリプトを見ると、A、Bが2回呼び出されているように見えます

于 2015-04-30T16:20:29.480 に答える