我需要在spark2中一次写入两个输出。 我试过这样的事情:
Dataset<Row> streamedData = spark.readStream().schema(getSchema())
.json("src/test/data")
.filter(x->{
System.out.println("this is some fitler operation");
return true;
});
StreamingQuery streamingQueury = streamedData
.writeStream()
.format("memory")
.queryName("streameddata")
.start();
StreamingQuery streamingQueury2 = streamedData
.writeStream()
.format("console")
.start();
streamingQueury.awaitTermination(1000);
streamingQueury2.awaitTermination(1000);
streamingQueury.stop();
streamingQueury2.stop();
spark.sql("SELECT * FROM streameddata").show();
这将完成我需要的工作,但它将执行整个链两次,这可能是耗时的,我不需要做两次所有的转换,我只需要写两次。
我有办法吗?
由于