いくつかのフィールドをグループ化して射影することにより、テーブルに最大集計関数を適用しようとしています。集計プロジェクションで元のテーブルの他の非グループ化フィールドを参照できますか?
例として、スキーマ (user_id: long、order_id: long、product_id: long、gender: chararray、size: int) を持つテーブル blah があります。user_id、order_id、および product_id は複合キーを作成しますが、複数のユーザー ID が存在する可能性があります。注文ID。使用する各注文の最大サイズを取得するには
result_table = foreach (group blah by (user_id, order_id)) generate
FLATTEN(group) as (user_id, order_id),
MAX(blah.size) as max_size;
result_table の作成に product_id を追加して、user_id、order_id、product_id、および max_size を含むテーブルを作成する方法はありますか (max_size は異なる product_id で複製されます)。
グループ化された各 user_id と order_id に固有の product_id を参照できれば、このフィールドにアクセスするために元のテーブルと結合し直す必要がなくなり、mapreduce ジョブを節約できます。みんなありがとう。