比如 spark、hive中窗口函数实现原理复盘 中的案例:
select id, sq, cell_type, rank, row_number() over(partition...,rank;
row_number() rank() 的窗口一样,可以放在一次分区和排序中完成,这一块hive sql与spark sql的表现是一致的。...从下面执行计划可以看出,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...rank#16]Time taken: 0.278 seconds, Fetched 1 row(s)
hive sql执行计划:
hive> explain select id,rank,row_number