我正在使用Spark结构化流的foreach接收器进行测试。
close()
方法永远不会被调用。我希望每2分钟调用一次close()
方法。
dataset.foreach(
new ForeachWriter<Row>() {
@Override
public void process(Row row) {}
@Override
public boolean open(long partition, long epoch) {
System.out.println("Opening");
return true;
}
@Override
public void close(Throwable ex) {
System.out.println("Closing");
}
})
.start()
.awaitTermination();
当我放.trigger(Trigger.Continuous("5 seconds")
时,前30分钟效果不错。然后20分钟后,所有突然的输入减少1/3。