Как контролировать размер выходных файлов в Spark Structured Streaming

Мы рассматриваем возможность использования Spark Structured Streaming в проекте. Вход и выход - паркетные файлы в корзине S3. Можно ли как-то контролировать размер выходных файлов? Мы нацелены на выходные файлы размером 10-100 МБ. Как я понимаю, в традиционном пакетном подходе мы могли бы определять размеры выходного файла, регулируя количество разделов в соответствии с размером набора входных данных, возможно ли нечто подобное в структурированной потоковой передаче?

1 ответ

В Spark 2.2 или более поздней версии оптимальным вариантом является установка spark.sql.files.maxRecordsPerFile

spark.conf.set("spark.sql.files.maxRecordsPerFile", n)

где n настроен на отражение среднего размера строки.

Увидеть

Другие вопросы по тегам