Apache Flink缓冲任务的传出,然后将其发送到下一个任务进行处理。缓冲会影响延迟,因为我知道即使缓冲区没有填充,缓冲也会将数据发送到下一个任务。
注意:我对这些数据/信息/问题的参考是O' Reilly"使用Apache Flink进行流媒体处理"和官方文件。
答案 0 :(得分:1)
缓冲区超时是通过StreamExecutionEnvironment
配置的作业级参数。
val env: StreamExecutionEnvironment = ???
env.setBufferTimeout(50L) // configure 50 ms buffer timeout
无法按操作员配置。此外,所有运营商的传出信道被多路复用为每个发送器 - 接收器对TaskManagers的单个物理连接。因此,所有操作员都将其输出写入需要运送到同一TaskManager的同一缓冲区。
中更详细地描述了该参数