PySpark - JSON в RDD / объединение - PullRequest
0 голосов
/ 26 июня 2018

Основываясь на предложении на этот вопрос, который я задал ранее , я смог преобразовать свой RDD в JSON в нужном мне формате.Чтобы сохранить это в HDFS, я хотел бы преобразовать его обратно в RDD и использовать coalesce для сохранения его в 10 файлах разделов.

Что я делаю до сих пор:

  • преобразовать в RDD, используя my_rdd = sc.parallelize([my_json])
  • , объединить и сохранить, используя my_rddcoalesce(10).saveAsTextFile

В моих тестах это успешно выполняется, но только один из 10 файлов разделовесть данные.При дальнейших проверках похоже, что весь файл json загружается в RDD как одна запись, а не одна запись на элемент json, в результате чего функция coalesce не может правильно разделить данные.

Я попытался выдать hadoop fs -text <saved_file_partition> |head -n 1, и весь JSON был выплюнут, а не только первая запись.

Как правильно преобразовать мой объект JSON в RDD?

1 Ответ

0 голосов
/ 26 июня 2018

Поскольку вы определяете RDD как

sc.parallelize([my_json])

, он будет иметь только одну запись, и отдельные записи никогда не будут разделены между разделами.Поэтому не имеет значения, сколько разделов вы используете - в вашем наборе данных может быть только один непустой раздел.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...