比如 spark、hive中窗口函数实现原理复盘 中的案例:
select id, sq, cell_type, rank, row_number() over(partition...as dr from window_test_table group by id,sq,cell_type,rank;
row_number() rank() 的窗口一样,可以放在一次分区和排序中完成...从下面执行计划可以看出,spark sql sum(rank) 和row_number() 复用了同一个窗口,而hive sql没有。...spark sql的执行计划:
spark-sql> explain select id,rank,row_number() over(partition by id order by rank..., [id#13], [rank#16 ASC NULLS FIRST] +- *(2) Sort [id#13 ASC NULLS FIRST, rank#16 ASC NULLS FIRST],