我正在尝试使用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不支持流式写入。
答案 0 :(得分:0)
目前(截至2016年7月9日)有四个可用的流媒体接收器:
ConsoleSink
console
格式。
{li> FileStreamSink
parquet
格式。
ForeachSink
用于foreach
运营商。MemorySink
为memory
。您可以创建自己的流媒体格式,以实现StreamSinkProvider。