Write to Iceberg using dynamic destinations
Stay organized with collections
Save and categorize content based on your preferences.
Write from Dataflow to Apache Iceberg, using the dynamic destinations feature to route incoming records to different Iceberg tables.
(Note, currently this feature is only supported for Java)
Explore further
For detailed documentation that includes this code sample, see the following:
Code sample
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],[],[[["This code sample demonstrates how to write data from Dataflow to Apache Iceberg using the dynamic destinations feature, routing records to different Iceberg tables based on the data."],["The Java code provided showcases the creation of a Dataflow pipeline that reads JSON data, converts it to Row objects, and then writes it to Iceberg tables, using the \"airport\" field to determine the destination table name in the format \"flights-{airport}\"."],["The code sample includes setting up the Iceberg catalog configuration, including the warehouse location and catalog type, through the specified options at runtime."],["The pipeline filters incoming data to only include the fields \"name\" and \"id\", as indicated by the \"keep\" configuration in the Iceberg I/O setup."],["This functionality is currently limited to the Java programming language."]]],[]]