Я использую настраиваемый URL-адрес s3 для указания пути s3. И у меня есть более 5 потоков данных, которые я хочу сохранить в корзине s3 со структурированным yyyy/mm/dd
. Но как только структура yyyy / mm / dd создается любым из потоковых запросов, я не могу использовать ее снова, поскольку S3 не разрешает операцию добавления (не уверен, хотя, если это причина). Как я могу добиться этого в искре? Вот мой код для writeStream -
val dsw: DataStreamWriter[Row] = O3quality.select(
dayofmonth(column("time")) as "day",
month(column("time")) as "month",
year(column("time")) as "year",
column("time"),
column("quality"),
column("O3"))
.writeStream
.partitionBy("year", "month", "day")
.format("csv")
.outputMode("append")
.option("path", "s3a://test-bucket/ozone/")
val sq: StreamingQuery = dsw.start()
Как видите, я уже использую предложение partitionBy , чтобы мои данные были структурированы во время записи. Но как я могу использовать годовой или месячный каталог, если у меня есть дополнительные данные, которые нужно сохранить при следующем запуске запросов? Если это невозможно, как можно обойтись здесь?