开发者社区> 问答> 正文

Flink mysql双流join时右表会有部分数据join不到

已解决

Flink mysql双流join时右表会有部分数据join不到

展开
收起
提个问题! 2024-06-15 17:13:38 75 0
1 条回答
写回答
取消 提交回答
  • 开发者社区问答官方账号
    官方回答
    采纳回答
    可能会是以下问题导致的:
    1、左表的主键没有用作 join key,会导致换 key 之后收不到 -U 消息 (该问题在 vvr 6.0 已经修复,建议升级版本解决),如果是必须使用6.x以下版本建议:  
    1.1如果左表本身没有更新(-D,+U)就不会影响,如果是这样,建议优化成不用 cdc,以 append 形式消费后按 user_id 去重。            
    1.2如果左表有更新,则:如果左表 id 和 user_id 一一对应的话,建议 PK 加上 user_id;如果不是的话,需要在 join 前以 user_id 去重(即手动换 key)。
    2、右表 DDL 中定义了 proctime 非确定性计算列,这样使得右流的 -U 无法撤回之前的 +I 消息,详情参见文档
    有以下建议:
    2.1右表不要定义 proctime。
    2.2如果右表是流水表(即业务含义上主键的最新一条记录就是满足条件的记录),那就按主键排序取最新数据来 join。
    2024-06-15 17:13:39
    赞同 3 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Flink CDC Meetup PPT - 龚中强 立即下载
Flink CDC Meetup PPT - 王赫 立即下载
Flink CDC Meetup PPT - 覃立辉 立即下载