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