-1
私は別の条件で行をフィルタリングするために豚のスクリプトを持って欲しい:豚:フィルタ行条件
私はtop
としてあらゆる面で平均を上回っているすべてのものを選んでいますされ
i2 = GROUP i1 ALL;
i3 = FOREACH i2 GENERATE AVG(i1.user_followers_count) AS avg_user_followers_count, AVG(i1.avl_user_total_retweets) AS avg_avl_user_total_retweets, AVG(i1.avl_user_total_likes) AS avg_avl_user_total_likes, AVG(i1.avl_user_total_replies) AS avg_avl_user_total_replies, AVG(i1.avl_user_engagements) AS avg_avl_user_engagements;
top = FILTER i1 BY (user_followers_count > i3.avg_user_followers_count) AND (avl_user_engagements > i3.avg_avl_user_engagements) AND (avl_user_total_retweets > i3.avg_avl_user_total_retweets) AND (avl_user_total_likes > i3.avg_avl_user_total_likes) AND (avl_user_total_replies > i3.avl_user_total_replies);
bot = FILTER i1 BY (user_followers_count < i3.avg_user_followers_count) AND (avl_user_engagements < i3.avg_avl_user_engagements) AND (avl_user_total_retweets < i3.avg_avl_user_total_retweets) AND (avl_user_total_likes < i3.avg_avl_user_total_likes) AND (avl_user_total_replies < i3.avl_user_total_replies);
、平均を下回っているすべてのものすべての側面はbottom
です。
top
とbot
を別の別名med
にフィルタリングした後、残りの行(すべてが混在している、つまり平均以上で平均以下のもの)を取得します。それ、どうやったら出来るの?
おかげで、 'OTHERWISE'が正しい構文であるかどうかわかりません。私はこのコードを使用すると失われたレコードをいくつか持っています。 – kskp
'入力(S): "/ユーザ/ alenza /バーチャ/ marketanalysis /データ/結果/ analysis_name/tweets_combined /ユーザ"' '出力(S): が正常から165のレコード(362590バイト)を読み取ります"/ tmp/inf_med" "/ tmp/inf_top"に1レコード(163バイト)を格納しました "/ tmp/inf_bot"に113レコード(18068バイト)を正常に格納しました。 ' – kskp
これは165件のレコードを読んでいますが、114件のレコードしか書いていません。 – kskp