Hi, You can take a look to https://cwiki.apache.org/confluence/display/FLINK/FLIP-506%3A+Support+Reuse+Multiple+Table+Sinks+in+Planner
It was released in Flink 2.1. Best, Jingsong On Thu, Jul 31, 2025 at 3:17 PM Ge Da <wczfore...@gmail.com> wrote: > > Hi Paimon community, > > I'm working on a multi-stream join scenario using Paimon and have a question > about Sink Node Reuse optimization. > > Current setup: > - Using partial-update merge engine > - Multiple Kafka streams (order_base_cdc, order_pay_cdc) > - Currently using UNION ALL with NULL placeholders > > I've heard about "Sink Node Reuse" optimization that can avoid maintaining > NULL placeholders when table schema changes. Could someone explain: > > 1. How does Sink Node Reuse work in Paimon? > 2. What are the specific configuration parameters needed? > 3. Can each stream write only its own fields without NULL placeholders? > 4. Any examples or documentation for this feature? > > Current DML structure: > ```sql > INSERT INTO paimon_table > SELECT orderid, channelName, orderTime, NULL, NULL FROM stream1 > UNION ALL > SELECT orderid, NULL, NULL, payAmount, payTime FROM stream2 > ``` > > Is there a way to write like this instead? > ```sql > -- Stream 1 > INSERT INTO paimon_table SELECT orderid, channelName, orderTime FROM stream1; > -- Stream 2 > INSERT INTO paimon_table SELECT orderid, payAmount, payTime FROM stream2; > ``` > > Thanks for any help! >