什么是支持的流数据源以保持结果?

时间:2016-06-29 10:44:37

标签: java apache-spark apache-spark-sql spark-streaming apache-spark-dataset

我正在尝试使用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不支持流式写入。

1 个答案:

答案 0 :(得分:0)

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

    {li> ConsoleSink console格式。 {li> FileStreamSink parquet格式。
  • ForeachSink用于foreach运营商。
  • MemorySinkmemory

您可以创建自己的流媒体格式,以实现StreamSinkProvider