Я использую Dataproc для запуска скрипта Pyspark, который записывает фрейм данных в текстовые файлы в хранилище облачного хранилища Google. Когда я запускаю скрипт с большими данными, я автоматически получаю большое количество текстовых файлов в моей выходной папке, но мне нужен только один большой файл.
Я читаю здесь Запись Spark saveAsTextFile ()для нескольких файлов вместо одного Я могу использовать .repartition (1) перед .write (), чтобы получить один файл, но я хочу, чтобы он работал быстро (конечно), поэтому я не хочу возвращаться к одному разделу раньшевыполняя .write ().
df_plain = df.select('id', 'string_field1').write.mode('append').partitionBy('id').text('gs://evatest/output', compression="gzip")