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

Java 什么是支持的流式数据源以持久化结果?,java,apache-spark,apache-spark-sql,spark-streaming,apache-spark-dataset,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 = tes

我试图在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();
Dataset testData=sqlContext
.readStream()
.schema(schema)
.格式(“json”)
.荷载(“s3://……)
.as(编码器);
Dataset结果=testData.filter(“eventType='playerLoad'”)
.groupBy(列(“国家”)、窗口(列(“时间戳”)、“10分钟”))
.agg(总和(“启动时间”)。别名(“tot”);
result.writeStream()
.outputMode(outputMode.Complete())
.格式(“控制台”)
.start()
.等待终止();
但如果我尝试将.format(“console”)更改为“json”或“jdbc”,我会收到一条消息:数据源xxx不支持流式写入。

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

  • 控制台链接
    用于
    控制台
    格式
  • FileStreamSink
    用于
    parquet
    格式
  • ForeachSink
    用于
    foreach
    运算符
  • MemorySink
    作为
    memory
您可以创建自己的流格式