带行号的Spark列

时间:2019-06-26 09:22:57

标签: apache-spark apache-spark-sql row-number

我想在我的50M数据集中创建一个具有行号的列,然后获取一堆1M行。

我尝试了以下解决方案:

var dfW = cookesWb.withColumn("n", row_number().over(Window.orderBy("uid")))
var bunchDf = dfW.filter(col("n").geq(0) && col("n").lt(1000000) )  

但是,这很慢,因为窗口需要重新整理所有数据并将其加载到一个节点中以分配编号。
您是否推荐一种更智能,更高效的方法?
谢谢。

0 个答案:

没有答案