Spark 中的 rank() 函数用法 SQL
rank() function usage in 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 版本的答案,作为 OP 使用 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));
我一直在寻找这个,在 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));
对我有用,
谢谢
高拉夫
需要一些使用方面的指导 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 版本的答案,作为 OP 使用 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));
我一直在寻找这个,在 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));
对我有用, 谢谢 高拉夫