Hi, Xiangyu. Thanks for driving this.

I have a question to confirm:
Considering the case that different Sources use different columns[1], will the 
Schema of CatalogTable[2] contain all target columns for Sources?
And for SinkWriter, the data structure to be processed should be fixed. Is 
there a node or an operator to fill in the inconsistent field of Rowdata that 
passed from different Sources?

[1] 
https://cwiki.apache.org/confluence/display/FLINK/FLIP-506%3A+Support+Reuse+Multiple+Table+Sinks+in+Planner
[2] 
https://nightlies.apache.org/flink/flink-docs-master/docs/dev/table/sourcessinks/#planning



> 2025年2月6日 17:06,xiangyu feng <xiangyu...@gmail.com> 写道:
> 
> Hi devs,
> 
> I'm opening this thread to discuss FLIP-506: Support Reuse Multiple Table
> Sinks in Planner[1].
> 
> Currently if users want to partial-update a downstream table from multiple
> source tables in one datastream, they would have to manually union all
> source tables and add lots of "cast(null as string) as xxx" in Flink SQL.
> This will make the SQL here hard to use and maintain.
> 
> After discussing with Weijie Guo, we think that by supporting reuse sink
> nodes in planner, the usability can be greatly improved in this case.
> 
> Therefore, we propose to add a new option
> *`table.optimizer.reuse-sink-enabled`* here to support this feature. More
> details can be found in the FLIP.
> 
> Looking forward to your feedback, thanks.
> 
> [1]
> https://cwiki.apache.org/confluence/display/FLINK/FLIP-506%3A+Support+Reuse+Multiple+Table+Sinks+in+Planner
> 
> Best regards,
> Xiangyu Feng

Reply via email to