Я использую Spark Structured Streaming (2.3) для записи данных паркета в контейнеры в облаке (Google Cloud Storage).
Я использую следующую функцию:
def writeStreaming(data: DataFrame, format: String, options: Map[String, String], partitions: List[String]): DataStreamWriter[Row] = {
var dataStreamWrite = data.writeStream .format(format).options(options).trigger(Trigger.ProcessingTime("120 seconds"))
if (!partitions.isEmpty)
dataStreamWrite = ddataStreamWrite.partitionBy(partitions: _*)
dataStreamWrite
}
К сожалению, при таком подходе я получаю много маленьких файлов.
Я пытался использовать триггерный подход, чтобы избежать этого, но это тоже не сработало. У вас есть идеи о том, как справиться с этим, пожалуйста?
Большое спасибо