rank()函数用法在Spark SQL中



使用rank()

需要一些指针

我已经从数据集中提取了一列..需要进行排名。

Dataset<Row> inputCol= inputDataset.apply("Colname");    
Dataset<Row>  DSColAwithIndex=inputDSAAcolonly.withColumn("df1Rank", rank());
DSColAwithIndex.show();

我可以对列进行排序,然后还附加索引列以获得排名...但很好奇,对rank()

的使用方式很好奇

Window规格需要为rank()

指定
val w = org.apache.spark.sql.expressions.Window.orderBy("date") //some spec    
val leadDf = inputDSAAcolonly.withColumn("df1Rank", rank().over(w))

编辑: Java版本的答案,如使用Java

的OP
import org.apache.spark.sql.expressions.WindowSpec; 
WindowSpec w = org.apache.spark.sql.expressions.Window.orderBy(colName);
Dataset<Row> leadDf = inputDSAAcolonly.withColumn("df1Rank", rank().over(w));

我一直在搜索此问题,在Java中应用我的数据框。

使用上述评论中提供的答案

import org.apache.spark.sql.expressions.WindowSpec; 
WindowSpec w = org.apache.spark.sql.expressions.Window.orderBy(colName);
Dataset<Row> leadDf = inputDSAAcolonly.withColumn("df1Rank", rank().over(w));

为我工作,谢谢Gaurav。

相关内容

  • 没有找到相关文章

最新更新