оператор, который просто принимает функцию, которая принимает набор данных пакета и идентификатор пакета.
аюсь использовать потоковую структурированную искру в режиме вывода обновления записи в файл. я нашелэтот пример StructuredSessionization и он работает нормально, пока настроен формат консоли. Но если я изменю режим вывода на:
val query = sessionUpdates
.writeStream
.outputMode("update")
.format("json")
.option("path", "/work/output/data")
.option("checkpointLocation", "/work/output/checkpoint")
.start()
Я получаю следующую ошибку:
Exception in thread "main" org.apache.spark.sql.AnalysisException: Data source json does not support Update output mode;
at org.apache.spark.sql.execution.datasources.DataSource.createSink(DataSource.scala:279)
at org.apache.spark.sql.streaming.DataStreamWriter.start(DataStreamWriter.scala:286)
at palyground.StructuredStreamingMergeSpans$.main(StructuredStreamingMergeSpans.scala:84)
at palyground.StructuredStreamingMergeSpans.main(StructuredStreamingMergeSpans.scala)
Могу ли я использовать режим обновления и использовать FileFormat для записи таблицы результатов в приемник файлов? В исходном коде я нашел образец соответствия, который обеспечивает режим добавления.