¿Cómo usar el modo de salida de actualización con formato FileFormat?

Estoy tratando de usar la transmisión estructurada por chispa en el modo de salida de actualización escribir en un archivo. encontréeste ejemplo de StructuredSessionization y funciona bien siempre que el formato de la consola esté configurado. Pero si cambio el modo de salida a:

 val query = sessionUpdates
  .writeStream
  .outputMode("update")
  .format("json")
  .option("path", "/work/output/data")
  .option("checkpointLocation", "/work/output/checkpoint")
  .start()

Me sale el siguiente error:

 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)

¿Puedo usar el modo de actualización y usar FileFormat para escribir la tabla de resultados en un receptor de archivos? En el código fuente encontré una coincidencia de patrón que garantiza el modo Append.

Respuestas a la pregunta(2)

Su respuesta a la pregunta