Flink CDC如果b为空的时候 哪怕a有数据也查询不到?a left join b on b.status=2
Flink CDC在处理左连接时,如果b为空,即使a有数据,也无法查询到。这是因为Flink CDC是基于事件时间的,当b表没有新数据时,CDC无法捕获到这个事件,因此无法将a表的数据与b表进行关联。
如果你希望在b表为空时仍然能够查询到a表的数据,可以考虑使用全表扫描的方式,即在a表上添加一个条件,使得只有在b表为空时才会返回a表的数据。例如:
SELECT a.*
FROM a
LEFT JOIN b ON b.status = 2
WHERE b.id IS NULL;
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。