Apache spark Spark sql每组前n名
如何获得spark sql中每组前n名(比如前10名或前3名)Apache spark Spark sql每组前n名,apache-spark,group-by,apache-spark-sql,top-n,Apache Spark,Group By,Apache Spark Sql,Top N,如何获得spark sql中每组前n名(比如前10名或前3名) 提供有关常规SQL的教程。但是,spark不在where子句中实现子查询。您可以使用spark 1.4中添加的窗口功能 假设我们有一个productRevenue表,如下所示。 以下是每个类别中最畅销和第二畅销产品的答案 SELECT product,category,revenue FROM (SELECT product,category,revenue,dense_rank() OVER (PAR
提供有关常规SQL的教程。但是,spark不在where子句中实现子查询。您可以使用spark 1.4中添加的窗口功能 假设我们有一个productRevenue表,如下所示。 以下是每个类别中最畅销和第二畅销产品的答案
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
这将为您提供所需的结果这在scala中非常有效。但是,作为SQL字符串,此操作失败,并出现如下所述的奇怪错误失败:“`union expected but`` foundSolution是: