如果我理解这一点,火花流是用于通过一组转换管道您的 RDD 批次,并在转换后进行输出操作。这是针对每个批次执行的,因此输出操作也针对每个批次执行。但是由于每次输出都非常昂贵,我想处理批次并累积结果,并且仅在某些事件(例如在一定时间段之后)写出累积的结果并结束程序。
我知道我可以积累数据,例如,updateStateByKey
但我不知道如何告诉 Spark 使用输出操作(例如saveAsTextFiles
),直到很久以后,当某些条件到达时。
这可能吗?
这在flink中可能吗?
如果我理解这一点,火花流是用于通过一组转换管道您的 RDD 批次,并在转换后进行输出操作。这是针对每个批次执行的,因此输出操作也针对每个批次执行。但是由于每次输出都非常昂贵,我想处理批次并累积结果,并且仅在某些事件(例如在一定时间段之后)写出累积的结果并结束程序。
我知道我可以积累数据,例如,updateStateByKey
但我不知道如何告诉 Spark 使用输出操作(例如saveAsTextFiles
),直到很久以后,当某些条件到达时。
这可能吗?
这在flink中可能吗?
免责声明:我是 Apache Flink 的贡献者。
由于丰富的窗口语义,应该可以用 Flink 做到这一点:http: //ci.apache.org/projects/flink/flink-docs-master/apis/streaming_guide.html#window-operators Flink 有一堆预定义的窗口。此外,您可以根据需要实施自己的窗口策略来获得自定义行为。