我正在尝试通过对某些字段进行分组和投影来将最大聚合函数应用于表。我可以在聚合投影中引用原始表中的其他非分组字段吗?
例如,我有一个带有模式(user_id:long,order_id:long,product_id:long,gender:chararray,size:int)的表,其中 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;
有什么方法可以将 product_id 添加到 result_table 的创建中,这样我就有一个包含 user_id、order_id、product_id 和 max_size 的表(max_size 将在不同的 product_ids 上重复)?
如果我可以引用特定于每个分组的 user_id 和 order_id 的 product_id,我可以通过不加入原始表来访问该字段来节省自己的 mapreduce 工作。多谢你们。