flink cdc delete源表,目标表未删除,
如下:
INSERT INTO sink_table (
    id,
    device_id,
    name,
    device_type,
    device_name,
    gateway_serial_num,
    points_model_id,
    device_uniq_code,
    etl_time)
SELECT
    t1.id,
    t1.device_id,
    t2.device_type,
    t2.device_name,
    t2.gateway_serial_num,
    t2.points_model_id,
    CONCAT_WS('-', t1.station_id, t1.data_object_id),
    CURRENT_TIMESTAMP
FROM table_a t1
LEFT JOIN
(
  SELECT
    id,
    device_id,
    name AS device_name,
    cim_code AS device_type,
    gateway_serial_num,
    points_model_id
  FROM table_b
UNION ALL
  SELECT
    id,
    dg_id AS device_id,
    name AS device_name,
    type AS device_type,
    gateway_serial_num,
    CAST(NULL AS BIGINT) AS points_model_id
  FROM table_c
) t2
ON t1.device_id = t2.id;
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
这个问题可能是由于Flink CDC在处理源表和目标表之间的删除操作时出现了问题。为了解决这个问题,你可以尝试以下方法:
检查源表和目标表的数据是否一致。如果源表中有数据被删除,那么目标表中应该对应的记录也应该被删除。你可以使用SELECT语句来检查这两个表的数据是否一致。
检查Flink CDC的配置是否正确。确保你的Flink CDC配置中包含了正确的源表和目标表信息,以及正确的数据转换逻辑。
查看Flink CDC的日志。Flink CDC会生成一些日志信息,这些信息可以帮助你了解CDC的处理过程和可能出现的问题。你可以查看这些日志信息,以获取更多关于问题的详细信息。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。