2016-04-27 1 views
1

Я могу успешно преобразовать CSV-файл в файл Parquet, но файл Parquet разбит на тонну файлов размером 2-3 МБ. В качестве примера CSV-25gb преобразуется в файл Parquet с более чем 700 файлами. Мои исследования показывают, что это должно быть между 256 МБ и 1 ГБ. Как указать размер аванса?Укажите размер блока паркета в PySpark

Я видел, что Импала делает это через PARQUET_FILE_SIZE. Я не смог ничего найти для PySpark. Пример код ниже:

df.write.mode("overwrite").parquet("s3n://%s:%[email protected]%s/%s" % (ACCESS_KEY, SECRET_KEY, AWS_BUCKET_NAME, FOLDER_FOR_PARQUET_RESULTS)) 

ответ

0

Try:

df \ 
.repartition(100) \ 
.write \ 
.mode("overwrite") \ 
.parquet("s3n://%s:%[email protected]%s/%s" % (ACCESS_KEY, SECRET_KEY, \ 
AWS_BUCKET_NAME, FOLDER_FOR_PARQUET_RESULTS)) 

Передел будет, ну, переразмечает dataframe в 100 разделов (примерно 256mb в размере - несжатый), это должно создавать большие паркетные файлы.

+0

Правильно, но мой исходный размер файла изменится, поэтому я бы скорее уточнил размер файла vs, чтобы оценить количество разделов. –

 Смежные вопросы

  • Нет связанных вопросов^_^