0
私は、ユーザーが豚を使って得た返答の数を計算したいつぶやきがあります。豚:別のフィールド名との結合
私の豚のスクリプトが(と仮定すると、Y1は、必要なJSONを持っている)のようになります。
{"user_id":"9642792"..............."number_of_replies_to_user":1}
:私はのようなものを期待していたWhereeas
{"y1::user_id":"9642792"............"y4::in_reply_to_user_id_str":"9642792","y4::number_of_replies_to_user":1}
:
今y2 = GROUP y1 BY in_reply_to_user_id_str;
y3 = FOREACH y2 GENERATE group AS in_reply_to_user_id_str, COUNT(y1) AS number_of_replies_to_user;
y4 = FOREACH y3 GENERATE in_reply_to_user_id_str, number_of_replies_to_user;
y5 = JOIN y1 BY user_id LEFT OUTER, y4 BY in_reply_to_user_id_str;
STORE y5 INTO '$DATA_OUTPUT' USING JsonStorage()
、私の出力は次のようになります
エイリアス名y1
とy5
は使用しません。質問に答える必要がない不要なフィールドを削除しました。これは読みやすくするためです。
どうすればいいですか?私の豚のバージョン(0.15)は$0..
をサポートしていません。
また、この値を計算する良い方法はありますか? SQLは非常に単純ですが、Pigは本当に混乱しています。
を格納するための追加のステップを追加し、それをテストしていないが、userid' AS 'Y1 ::ユーザーIDのようなものを期待します。この回答のコードは、フィールド名をどのように指定する必要がありますか? –