持久化结果支持的流数据源是什么?



我正在尝试使用spark 2.0.1-SNAPSHOT的新流写入功能。实际支持哪个输出数据源来持久化结果?我可以在控制台上显示这样的输出:

Dataset<Event> testData = sqlContext
    .readStream()
    .schema(schema)
    .format("json")
    .load("s3://......")
    .as(encoder);
Dataset<Row> result = testData.filter("eventType = 'playerLoad'")
    .groupBy(col("country"), window(col("timestamp"), "10 minutes"))
    .agg(sum("startupTime").alias("tot"));
result.writeStream()  
      .outputMode(OutputMode.Complete())
      .format("console")
      .start()
      .awaitTermination();

但如果我尝试更改。format("console")为"json"或"jdbc"我有消息:数据源xxx不支持流写入。

目前(截至2016年7月9日)有四种可用的流接收器:

  • ConsoleSink用于console格式。
  • FileStreamSinkparquet格式。
  • ForeachSink用于foreach操作符。
  • MemorySink as memory .

你可以创建自己的流格式实现StreamSinkProvider

相关内容

  • 没有找到相关文章

最新更新