Сохранение RDD в файл приводит к _temporary пути для частей

У меня есть данные в Spark, которые я хочу сохранить на S3. Рекомендуемый метод сохранения — использовать метод saveAsTextFile в SparkContext, который работает успешно. Я ожидаю, что данные будут сохранены как «части».

Моя проблема в том, что когда я иду на S3, чтобы посмотреть свои данные, они были сохранены в папке с именем _temporary с подпапкой 0, а затем каждая часть или задача сохранены в своей собственной папке.

Например,

data.saveAsTextFile("s3:/kirk/data");

приводит к лайкам файлов

s3://kirk/data/_SUCCESS
s3://kirk/data/_temporary/0/_temporary_$folder$
s3://kirk/data/_temporary/0/task_201411291454_0001_m_00000_$folder$
s3://kirk/data/_temporary/0/task_201411291454_0001_m_00000/part-00000
s3://kirk/data/_temporary/0/task_201411291454_0001_m_00001_$folder$
s3://kirk/data/_temporary/0/task_201411291454_0001_m_00001/part-00001

и так далее. Я ожидал и увидел что-то вроде

s3://kirk/data/_SUCCESS
s3://kirk/data/part-00000
s3://kirk/data/part-00001

Является ли это параметром конфигурации или мне нужно «зафиксировать» сохранение для разрешения временных файлов?


person Kirk Broadhurst    schedule 29.11.2014    source источник
comment
У меня такая же проблема, это происходит только с большим количеством разделов.   -  person tribbloid    schedule 04.02.2015


Ответы (2)


У меня была та же проблема с потоковой передачей искры, потому что мой Sparkmaster был настроен с conf.setMaster("local") вместо conf.SetMaster("local[*]") Без [*] искра не может выполнять saveastextfile во время потока.

person cinoze    schedule 28.02.2015

Попробуйте использовать объединение (), чтобы уменьшить раздел rdd до 1 перед экспортом. Удачи!

person John Knight    schedule 10.08.2015