blink 根据每个算子的digest信息来判断是否可以reuse(只有digest完全一样才可以reuse),
例如table source节点,算子信息包括:表名,select的字段信息,其他push down之后的信息等。
你可以通过explain的方式把plan打印出来看看,source的digest是否一样
Jingsong Li 于2020年9月17日周四 下午2:45写道:
> 你仔细看看这两个数据源是不是有什么不同
> 只要有一点不同,Blink 就 reuse 不了
>
> On Thu, Sep 17, 2020 at 11:10 AM Kevin Dai
你仔细看看这两个数据源是不是有什么不同
只要有一点不同,Blink 就 reuse 不了
On Thu, Sep 17, 2020 at 11:10 AM Kevin Dai <154434...@qq.com> wrote:
> 场景描述:
> 通过Flink SQL创建两个Kafka数据源,对数据源去重处理,然后Union ALL合并,并创建临时视图
> 然后通过Flink SQL读取临时视图进行聚合计算指标,结果写入Redis
> 问题描述:
> Flink SQL 解析器会为每个聚合运算创建相同的两个数据源
>
> 在下面Blink
场景描述:
通过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: