Como usar o modo de saída de atualização com o formato FileFormat?
Estou tentando usar o streaming estruturado do spark no modo de saída de atualização para gravar em um arquivo. eu encontreieste exemplo StructuredSessionization e funciona bem desde que o formato do console esteja configurado. Mas se eu mudar o modo de saída para:
val query = sessionUpdates
.writeStream
.outputMode("update")
.format("json")
.option("path", "/work/output/data")
.option("checkpointLocation", "/work/output/checkpoint")
.start()
Eu recebo o seguinte erro:
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)
Posso usar o modo de atualização e usar o FileFormat para gravar a tabela de resultados em um coletor de arquivos? No código fonte, encontrei uma correspondência de padrões que garante o modo de acréscimo.