Как я могу конвертировать CSV в RDD отмеченных точек? - PullRequest
0 голосов
/ 15 ноября 2018

Я хочу выполнить регрессию дерева решений на наборе данных в CSV. Требуется, чтобы я делал это с помощью RDD. Я попытался сделать следующее для преобразования кадра данных в RDD:

pp_df = spark.read.csv("/usr/local/spark/data/hour.csv",header=True,inferSchema=True)
pp_df = pp_df.rdd.map(lambda x: LabeledPoint(x[10], x[:10])).collect()

Затем я пытаюсь разделить данные для обучения и тестирования:

(trainingData, testData) = pp_df.randomSplit([0.7, 0.3])

И я получил следующую ошибку:

AttributeError: 'list' object has no attribute 'randomSplit'

Почему вместо этого возвращается список и как я могу правильно преобразовать данные csv в данные RDD?

1 Ответ

0 голосов
/ 15 ноября 2018

pp_df = pp_df.rdd.map(lambda x: LabeledPoint(x[10], x[:10])).collect() возвращает массив, а не СДР.Таким образом, вы не можете использовать метод randomSplit для этого.

Spark Действия: https://spark.apache.org/docs/latest/rdd-programming-guide.html

...