如何在Spark数据帧中混洗行?

Lau*_*e D 11 scala dataframe apache-spark apache-spark-sql

我有这样的数据帧:

+---+---+
|_c0|_c1|
+---+---+
|1.0|4.0|
|1.0|4.0|
|2.1|3.0|
|2.1|3.0|
|2.1|3.0|
|2.1|3.0|
|3.0|6.0|
|4.0|5.0|
|4.0|5.0|
|4.0|5.0|
+---+---+
Run Code Online (Sandbox Code Playgroud)

我想在Scala中使用Spark来洗牌所有行.

如何在不返回RDD的情况下完成此操作?

pru*_*nko 27

您需要使用orderBy数据帧的方法:

import org.apache.spark.sql.functions.rand
val shuffledDF = dataframe.orderBy(rand())
Run Code Online (Sandbox Code Playgroud)

  • 它如何在非常大的数据集上扩展?有更有效的方法吗? (3认同)