在Apache Spark中,可以使用randomSplit
函数来对DataFrame进行随机分割。randomSplit
函数接受一个数组作为参数,数组的元素是分割的比例。以下是一个示例代码:
from pyspark.sql import SparkSession
# 创建SparkSession
spark = SparkSession.builder.getOrCreate()
# 读取数据集
data = spark.read.csv("data.csv", header=True)
# 定义分割比例
splits = [0.6, 0.4]
# 随机分割DataFrame
train_data, test_data = data.randomSplit(splits)
# 打印分割后的数据集大小
print("训练集大小:", train_data.count())
print("测试集大小:", test_data.count())
上述代码假设数据集已经存在,并且以CSV格式存储,其中包含列名。首先,我们创建一个SparkSession对象。然后,使用read.csv
函数读取数据集。接下来,我们定义了一个包含两个元素的数组splits
,其中第一个元素表示训练集的比例,第二个元素表示测试集的比例。最后,我们使用randomSplit
函数对DataFrame进行随机分割,并将结果保存在train_data
和test_data
中。通过count
函数,我们可以打印出分割后的数据集大小。