gpt4 book ai didi

apache-spark - 每组 Spark sql 前 n 个

转载 作者:行者123 更新时间:2023-12-04 04:08:01 26 4
gpt4 key购买 nike

我怎样才能在 spark-sql 中获得每组的前 n(比如前 10 名或前 3 名) ?

http://www.xaprb.com/blog/2006/12/07/how-to-select-the-firstleastmax-row-per-group-in-sql/提供一般 SQL 的教程。但是,spark 没有在 where 子句中实现子查询。

最佳答案

您可以使用 Spark 1.4 中添加的窗口函数功能
假设我们有一个 productRevenue 表,如下所示。
enter image description here

的答案每个品类中最畅销和第二畅销的产品是什么如下

SELECT product,category,revenue FROM 
(SELECT product,category,revenue,dense_rank()
OVER (PARTITION BY category ORDER BY revenue DESC) as rank
FROM productRevenue) tmp
WHERE rank <= 2

这会给你想要的结果

关于apache-spark - 每组 Spark sql 前 n 个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36660625/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com