猪内脚本总数
问题描述:
总结每个出生城市/出生州组合的双打和三倍数。输出生产最多双打和三倍球员的前5名出生城市/出生州组合。猪内脚本总数
目前我有这个
clean = FOREACH filtered_2 GENERATE id,city,state, dble + tripple AS combined;
dump clean;
我的问题是我怎么符合以上?很明显,我必须由(城市,州)进行分组。我如何才能在袋子内总和,如果我通过
counter = foreach clean {
sum1 = SUM(combined);
generate id,city,state,sum1;
};
我在想这样的事情,但做组,它不工作
答
集团的关系由城市,州和再干净使用SUM来获得每个城市,州的分组总数。
clean = FOREACH filtered_2 GENERATE id,city,state,(dble + tripple) AS combined;
clean_group = GROUP clean BY (city,state);
counter = FOREACH clean_group GENERATE FLATTEN(group) as (city,state),SUM(clean.combined) as sum1;
你能解释最后一行吗? PLZ我很困惑,在这个特定的功能如何平铺 – dedpo
由于分组是由2个字段,组由2个字段产生一个元组。所以要从元组中提取字段,你将不得不使用FLATTEN –