Hi Peter, is there a repository we can begin using for testing or 
contributing? Thanks.

+1 on the feature. i have raised similar request to iceberg community a month 
ago - Add support for multiple table DataStream FlinkSink · Issue #11436 · 
apache/iceberg

| 
| 
| 
|  |  |

 |

 |
| 
|  | 
Add support for multiple table DataStream FlinkSink · Issue #11436 · apa...

Feature Request / Improvement We're currently using FlinkCDC to create an 
Iceberg database from a source Postgre...
 |

 |

 |



Thanks
    On Tuesday, November 19, 2024 at 01:12:38 AM PST, ConradJam 
<czy...@apache.org> wrote:  
 
 +1 I have been trying to complete the Flink CDC Iceberg pipeline recently,
and this feature has been helpful for my work

Ferenc Csaky <ferenc.cs...@pm.me.invalid> 于2024年11月14日周四 21:16写道:

> Hi Peter, Max,
>
> Thanks for starting this discussion, +1 for the proposal. I agree
> that the added functionality would solve some major pain points for
> Flink -> Iceberg use-cases!
>
> Best,
> Ferenc
>
>
>
>
> On Thursday, November 14th, 2024 at 03:54, Congxian Qiu <
> qcx978132...@gmail.com> wrote:
>
> >
> >
> > Thanks for kicking off this discussion, +1 for this proposal.
> >
> > Currently, we use FlinkCDC as the ingestion tool to write to Iceberg, and
> > need to restart the job if there is any schema evolution, Look forward to
> > seeing this integrated with FlinkCDC
> >
> > Best,
> > Congxian
> >
> >
> > Leonard Xu xbjt...@gmail.com 于2024年11月14日周四 09:37写道:
> >
> > > Thanks Peter and Max for kicking off this discussion, +1 for this
> proposal.
> > >
> > > Dynamic Sink is a key improvement for Iceberg Sink, and it can be well
> > > integrated with Flink CDC’s pipeline sink in the future as well.
> > >
> > > Best,
> > > Leonard
> > >
> > > > 2024年11月13日 下午7:57,Maximilian Michels m...@apache.org 写道:
> > > >
> > > > Thanks for driving this Peter! The Dynamic Iceberg Sink is meant to
> solve
> > > > several pain points of the current Flink Iceberg sink. Note that the
> > > > Iceberg sink lives in Apache Iceberg, not Apache Flink, although
> that may
> > > > change one day when the interfaces are stable enough.
> > > >
> > > > From the user perspective, there are three main advantages to using
> the
> > > > Dynamic Iceberg sink:
> > > >
> > > > 1. It supports writing to any number of tables (No more 1:1
> sink/topic
> > > > relationship).
> > > > 2. It can dynamically create and update tables based on the
> user-supplied
> > > > routing.
> > > > 3. It can dynamically update the schema and partitioning of tables
> based
> > > > on
> > > > the user-supplied specification.
> > > >
> > > > I'd say these features will have a big impact on Flink Iceberg users.
> > > >
> > > > Cheers,
> > > > Max
> > > >
> > > > On Wed, Nov 13, 2024 at 12:27 PM Péter Váry <
> peter.vary.apa...@gmail.com
> > > >
> > > > wrote:
> > > >
> > > > > Hi Team, With Max Michels, we started to work on enhancing the
> current
> > > > > Iceberg Sink to allow inserting evolving records into a changing
> table.
> > > > >
> > > > > Created the design doc [1]
> > > > > Created the Iceberg proposal [2]
> > > > > Started the conversation on the Iceberg dev list [3]
> > > > >
> > > > > From the abstract: --------- Flink Iceberg connector sink is the
> tool to
> > > > > write data to an Iceberg table from a continuous Flink stream. The
> > > > > current
> > > > > Sink implementations emphasize throughput over flexibility. The
> main
> > > > > limiting factor is that the Iceberg Flink Sink requires static
> table
> > > > > structure. The table, the schema, the partitioning specification
> need
> > > > > to be
> > > > > constant. If one of the previous things changes the Flink Job
> needs to
> > > > > be
> > > > > restarted. This allows using optimal record serialization and good
> > > > > performance, but real life use-cases need to work around this
> limitation
> > > > > when the underlying table has changed. We need to provide a tool to
> > > > > accommodate these changes. [..] The following typical use cases are
> > > > > considered during this design: - Incoming Avro records schema
> changes
> > > > > (new
> > > > > columns are added, or other backward compatible changes happen).
> The
> > > > > Flink
> > > > > job is expected to update the table schema dynamically, and
> continue to
> > > > > ingest data with the new and the old schema without a job restart.
> -
> > > > > Incoming records define the target Iceberg table dynamically. The
> Flink
> > > > > job
> > > > > is expected to create the new table(s) and continue writing to them
> > > > > without
> > > > > a job restart. - The partitioning schema of the table changes. The
> Flink
> > > > > job is expected to update the specification and continue writing
> to the
> > > > > target table without a job restart. --------- If you have any
> questions,
> > > > > ideas, suggestions please let us know on any of the email threads,
> or in
> > > > > comments on the document. Thanks, Peter
> > > > >
> > > > > [1] -
> > >
> > >
> https://docs.google.com/document/d/1R3NZmi65S4lwnmNjH4gLCuXZbgvZV5GNrQKJ5NYdO9s
> > >
> > > > > [2] - https://github.com/orgs/apache/projects/429
> > > > > [3] -
> https://lists.apache.org/thread/0sbosd8rzbl5rhqs9dtt99xr44kld3qp
>
  

Reply via email to