blink 根据每个算子的digest信息来判断是否可以reuse(只有digest完全一样才可以reuse),
例如table source节点,算子信息包括:表名,select的字段信息,其他push down之后的信息等。
你可以通过explain的方式把plan打印出来看看,source的digest是否一样
Jingsong Li <
[hidden email]> 于2020年9月17日周四 下午2:45写道:
> 你仔细看看这两个数据源是不是有什么不同
> 只要有一点不同,Blink 就 reuse 不了
>
> On Thu, Sep 17, 2020 at 11:10 AM Kevin Dai <
[hidden email]> wrote:
>
> > 场景描述:
> > 通过Flink SQL创建两个Kafka数据源,对数据源去重处理,然后Union ALL合并,并创建临时视图
> > 然后通过Flink SQL读取临时视图进行聚合计算指标,结果写入Redis
> > 问题描述:
> > Flink SQL 解析器会为每个聚合运算创建相同的两个数据源
> >
> > 在下面Blink Plan的配置说明中,引擎应该会优化复用相同的数据源
> > - table.optimizer.reuse-source-enabled
> > - table.optimizer.reuse-sub-plan-enabled
> >
> > 请问下,有人碰到类似问题么?
> >
> >
> >
> >
> >
> >
> >
> >
> > --
> > Sent from:
http://apache-flink.147419.n8.nabble.com/>
>
>
> --
> Best, Jingsong Lee
>