hive简单总结
cube(a,b,c)=>就是魔方,就是groupby()的a,b,c,ab,ac,bc,abc结果的union all
用法:group by a,b,c with cube
rollup(a,b,c)=>就是卷曲来,就是groupby() 的a,ab,abc的union all
用法:group by a,b,c with rollup
grouping sets((a,b,c),(a,c))=>固定组合,只会根据里面的组合进行union all
用法:group by a,b,c grouping sets ((a,b,c),(ac),())等
spark简单总结
cube用法:df.cube($"a",$"b",$"c").agg(count($"cnt").as("cnt"))
rollup用法:df.rollup($"a",$"b",$"c").agg(count($"cnt").as("cnt"))