Я хочу разделить dataframe на две dataframes и записать их в два отдельных паркетных файлы как этотКак написать несколько паркетных файлов параллельно в pyspark?
df = attachment_df.flatMap(process_attachment).toDF()
large_df = df.filter(df.is_large_file == True)
small_df = df.filter(df.is_large_file == False)
(large_df.write
.mode("overwrite")
.parquet('large_dummy'))
(small_df.write
.mode("overwrite")
.parquet('small_dummy'))
Однако приведенный выше код будет писать в последовательном, и это выглядит как функция process_attachment вызывается дважды для каждого вложения , Я действительно хочу избежать дублирования вычислений, потому что очень дорого обрабатывать вложение.
Есть ли способ избежать дублирования обработки вложения и написать параллельно? Я не хочу писать в один файл паркета, используя раздел по столбцу is_large_file.
Спасибо,