Записването на 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)


Имах същия проблем със стрийминг на spark, защото моят Sparkmaster беше настроен с conf.setMaster("local") вместо conf.SetMaster("local[*]") Без [*] spark не може да изпълни saveastextfile по време на потока.

person cinoze    schedule 28.02.2015

Опитайте да използвате coalesce(), за да намалите rdd до 1 дял, преди да експортирате. Късмет!

person John Knight    schedule 10.08.2015