Я новичок в спарке, поэтому я прошу прощения, если мой вопрос очень простой :) У меня есть фрейм данных искры, который я хочу разделить на обучающие и тестовые наборы с помощью метода randomSplit (). Эта задача должна быть очень простой, но я не знаю, почему она возвращает фрейм данных с нулевыми значениями. Ниже мой код:
train = spark.read.csv('training.csv', header=True)
train = train.withColumn("reviewerID", train["reviewerID"].cast("int"))
train = train.withColumn("asin", train["asin"].cast("int"))
train = train.withColumn("overall", train["overall"].cast("double"))
train_selected = train.select("reviewerID", "asin", "overall")
train_selected.show(5)
+----------+-----+-------+
|reviewerID| asin|overall|
+----------+-----+-------+
| 15012|52021| 4.0|
| 20330|42867| 5.0|
| 62907| 9168| 5.0|
| 11778|26051| 4.0|
| 63717|30061| 4.0|
+----------+-----+-------+
only showing top 5 rows
splits = train_selected.randomSplit([0.8, 0.2], 13)
splits[0].show(5)
+----------+----+-----------+
|reviewerID|asin| overall|
+----------+----+-----------+
| null|null| null|
| null|null|1.3532832E9|
| null|null| 1.353456E9|
| null|null|1.3568256E9|
| null|null| 1.356912E9|
+----------+----+-----------+
only showing top 5 rows
Я ценю вашу помощь.