Many of the Flink users support the Dynamic Sink.
See: https://lists.apache.org/thread/khw0z63n34cmh2nrzrx7j9bdmzz861lb

Any comments from the Iceberg community side?

Jean-Baptiste Onofré <j...@nanthrax.net> ezt írta (időpont: 2024. nov. 13.,
Sze, 14:06):

> Thanks for the proposal!
> I will take a look asap.
>
> Regards
> JB
>
> On Mon, Nov 11, 2024 at 6:32 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.
> > See:
> https://docs.google.com/document/d/1R3NZmi65S4lwnmNjH4gLCuXZbgvZV5GNrQKJ5NYdO9s
> > Created the project to follow the lifecycle of the proposal:
> https://github.com/orgs/apache/projects/429
> >
> > 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 here,
> or in comments on the document.
> >
> > Thanks,
> > Peter
>

Reply via email to