Flink是否处理每个键一个线程的键控窗口?

时间:2018-05-30 15:22:23

标签: apache-flink flink-streaming

Flink window documentation说:

  

拥有一个键控流将允许您的窗口计算由多个任务并行执行,因为每个逻辑键控流可以独立于其余任务进行处理。

此语句是否意味着每个窗口都由专用线程评估?如果我有5000万个唯一密钥创建5000万个窗口,那么并行执行会有5000万个线程吗?

1 个答案:

答案 0 :(得分:1)

不,Flink不为每个不同的密钥生成新线程。

应用于键控流的窗口运算符可以并行运行。输入流在密钥属性上分区,使得具有相同密钥的所有记录由窗口运算符的相同并行实例处理。因此,每个并行运算符实例负责处理整个密钥域的子集。