Основываясь на предложении на этот вопрос, который я задал ранее , я смог преобразовать свой 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?