You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "JJJJude (Jira)" <ji...@apache.org> on 2024/05/09 07:03:00 UTC

[jira] [Updated] (FLINK-35313) Add upsert changelog mode to avoid UPDATE_BEFORE records push down

     [ https://issues.apache.org/jira/browse/FLINK-35313?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

JJJJude updated FLINK-35313:
----------------------------
    Attachment: image-2024-05-09-15-02-33-572.png

> Add upsert changelog mode to avoid UPDATE_BEFORE records push down
> ------------------------------------------------------------------
>
>                 Key: FLINK-35313
>                 URL: https://issues.apache.org/jira/browse/FLINK-35313
>             Project: Flink
>          Issue Type: New Feature
>          Components: Flink CDC
>            Reporter: JJJJude
>            Priority: Major
>         Attachments: image-2024-05-09-15-02-33-572.png
>
>
> I try to use flink sql to write mysql cdc-data into redis as a dimension table for other business use. When executing {{UPDATE}} DML, the cdc-data will be converted into {{-D (UPDATE_BEFORE)}} and {{+I (UPDATE_AFTER)}} two records to sink redis. However, delete first will cause other data streams to be lost(NULL) when join data, which is unacceptable.
> I think we can add support for [upser changelog mode|https://nightlies.apache.org/flink/flink-docs-master/docs/dev/table/concepts/dynamic_tables/#table-to-stream-conversion] by adding changelogMode option with mandatory primary key configuration.Basically, with {{changelogMode=upsert}} we will avoid {{UPDATE_BEFORE}} rows and we will require a primary key for the table.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)