私は豚に2フィールドの組合せの周波数を計算する:上記で豚:複数の列のカウント周波数
------ y1 has the fields -----
a1 = GROUP y1 BY (user_id, tweet_created_at);
a2 = FOREACH a1 GENERATE group AS (user_id, tweet_created_at), COUNT(y1) AS number_of_replies_by_user;
a3 = FOREACH a2 GENERATE user_id, tweet_created_at, number_of_replies_by_user;
a4 = JOIN y1 BY (user_id, tweet_created_at) LEFT OUTER, a3 BY (user_id, tweet_created_at);
、Iは(user_id, tweet_created_at
)フィールドの組合せの頻度を計算します。
ラインa2 = FOREACH a1 GENERATE group AS (user_id, tweet_created_at), COUNT(y1) AS number_of_replies_by_user;
はエラーを与える:Incompatable schema: left is "user_id:NULL,tweet_created_at:NULL", right is "group:tuple(user_id:bytearray,tweet_created_at:bytearray)"
私は括弧なしで試してみました:a2 = FOREACH a1 GENERATE group AS user_id, tweet_created_at, COUNT(y1) AS number_of_replies_by_user;
は、私は別のエラーが表示されます。
Invalid field projection. Projected field [tweet_created_at] does not exist in schema:..................
は、構文エラーまたは自分のデータの問題です? 構文エラーの場合、正しい方法は何ですか?
簡潔に:投稿されたすべてのツイートの時刻にユーザーが回答した件数を計算したいと思います。 (同じ日に2つのつぶやきを投稿した場合、最初のツイート時には10回、2回目には15回)私はtweet_created_at
でグループ化しないと、返信回数が常に間違っている定数になると思います。
にタプルをネスト解除します。ありがとう! – kskp