Skip to main content
Apache Iceberg supports both Apache Flink’s DataStream API and Table API for streaming and batch analytics.
For a general setup path, start with the Quickstart

Feature Support

Iceberg provides comprehensive Flink integration with both SQL and DataStream APIs:

Getting Started

Prerequisites

Download Flink from the Apache download page. Iceberg uses Scala 2.12 when compiling the Apache iceberg-flink-runtime jar, so it’s recommended to use Flink bundled with Scala 2.12.
Start the Flink SQL client with the Iceberg runtime jar:
By default, Iceberg ships with Hadoop jars for Hadoop catalog. To use Hive catalog, load the Hive jars when opening the Flink SQL client.
Install the Apache Flink dependency using pip:
Add the Iceberg runtime jar:
Create a StreamTableEnvironment and execute Flink SQL:
Run a query:

Type Conversion

Iceberg’s integration for Flink automatically converts between Flink and Iceberg types.

Next Steps

Connector Setup

Configure Flink connector for Iceberg tables

DDL Operations

Create and manage Iceberg tables with Flink DDL

Queries

Read data from Iceberg tables using Flink

Writes

Write data to Iceberg tables with Flink