【发布时间】:2020-07-07 17:23:17
【问题描述】:
说明:
流程函数的美妙之处在于它们使我们能够访问键控状态和计时器,这使开发人员能够完全控制输入流中接收到的每个事件。它们工作得很好,几乎可以解决我所有的用例。那我为什么在这里打扰你?公平的问题。 我很好奇是否有任何底层 Flink 性能优化来自使用处理器的静态实现与使用新关键字?
例子:
将静态处理函数应用于键控流
private static final CountWithTimeoutFunction TIMEOUT_COUNT_PROCESSOR = new CountWithTimeoutFunction();
// apply the process function onto a keyed stream
DataStream<Tuple2<String, Long>> result = stream
.keyBy(0)
.process(TIMEOUT_COUNT_PROCESSOR);
将非静态处理函数应用于键控流
// apply the process function onto a keyed stream
DataStream<Tuple2<String, Long>> result = stream
.keyBy(0)
.process(new CountWithTimeoutFunction());
【问题讨论】:
标签: apache-flink flink-streaming