可以使用randomSplit函数将Spark DataFrame拆分为两个DataFrame,代码示例如下:
import org.apache.spark.sql.{SparkSession, DataFrame}
val spark = SparkSession.builder().appName("Split DataFrame").master("local").getOrCreate()
// 创建示例DataFrame
val data = Seq(
(1, "John", 25),
(2, "Jane", 30),
(3, "Bob", 35),
(4, "Alice", 40),
(5, "Mark", 45)
).toDF("id", "name", "age")
// 按照id列进行排序
val sortedData = data.sort("id")
// 将DataFrame拆分为70%和30%
val Array(df1, df2) = sortedData.randomSplit(Array(0.7, 0.3))
// 打印拆分后的结果
println("DataFrame 1:")
df1.show()
println("DataFrame 2:")
df2.show()
上述代码首先创建了一个示例的Spark DataFrame,然后按照id列进行排序。接着使用randomSplit函数将DataFrame拆分为70%和30%两部分,最后分别打印出拆分后的结果。
下一篇:按照键将数组合并