Apache flink Flink异步IO运算符与另一个同步运算符链接

Apache flink Flink异步IO运算符与另一个同步运算符链接,apache-flink,flink-streaming,Apache Flink,Flink Streaming,我有一个在flink中使用异步IO操作符和普通映射器的用例。我使用的是flink 1.8。因此,异步操作符必须位于操作符链的最前端。因此,我的运算符流如下所示: Source->Mapper1->AsyncOperator->Mapper2->Sink 由于异步操作符是head的要求,有两个操作符链,因此有两个任务-1。Source+mapper12。AsyncOperator+Mapper2+Sink。 我对第二条链条有疑问。我认为,如果第二条链的链接正确,那么它们应该包含在单个任务中。我不确

我有一个在flink中使用异步IO操作符和普通映射器的用例。我使用的是flink 1.8。因此,异步操作符必须位于操作符链的最前端。因此,我的运算符流如下所示:

Source->Mapper1->AsyncOperator->Mapper2->Sink

由于异步操作符是head的要求,有两个操作符链,因此有两个任务-1。Source+mapper12。AsyncOperator+Mapper2+Sink。 我对第二条链条有疑问。我认为,如果第二条链的链接正确,那么它们应该包含在单个任务中。我不确定任务线程上的异步运算符和映射器2之间是否有等待时间,或者映射器2是否在内部绑定到异步运算符的响应处理程序?理想情况下,它应该是第二个,但我找不到任何相同的文档-因此感到奇怪

参考:


  • AsyncWaitOperator
    在线程中旋转一个
    发射器
    ,这样一旦结果可用,它们就会被发送到操作符的收集器。请注意,如果指定有序结果,可能会有“等待时间”,因为完成顺序与传入元素的顺序不匹配。

    顺便说一句,在Flink 1.11中取消了AsyncWaitOperator必须位于链头的限制。看见唯一剩下的限制是它不能遵循SourceFunction。AsyncWaitOperator可以遵循Flink 1.12中引入的新源代码