Hi,大家好。

我这里有个Flink的问题想请教一下大家:

场景如下:
        使用Oracle 的Ogg同步工具,将Oracle 4个表的操作记录,同步到Kafka中。
        同步到Kafka时数据为Json格式,且存放在一个Topic中。
        Flink 会从Kafka 中读取了这个Topic ,并根据Json结构中的table字段,将此Topic 注册成多个流。
        利用利用Flink的分流,将此Topic,注册成A、B、C 三个流。
        之后,将A、B、C 三个流 做Join操作,并将结果结果输出。(如图,左侧)
        ---
        此时,由于业务新增了一个表,又往Kafka的Topic中新同步了一个表 。
        此时要进行解析表D ,并注册成表,一共有4个流。
        要做互相Join 。并输出结果。(如图、右侧)

示意图如下:
        在修改代码逻辑,并重新打包部署的情况下,是可以解决的。
        - -
        请问,可以在【Flink任务不停机重启】的情况下, 读取外部配置,
        新增一个流的分流解析,并动态修改处理的SQL,
        做到修改Flink的执行计划,并按照新的业务逻辑继续运行吗? 还是说不可避免的一定要进行Flink任务的重启?

        谢谢!

回复