Deliver data to Apache Iceberg
Apache Iceberg is an open-source high-performance format for huge analytic tables.
Quick Start
Connect in minutes with SQL
Use CREATE SINK to deliver processed data from RisingWave to Apache Iceberg. Define your transformation logic in SQL and let RisingWave handle delivery, retries, and exactly-once semantics.
CREATE SINK iceberg_sink AS
SELECT
order_status,
COUNT(*) as order_count,
SUM(total_amount) as total_revenue,
AVG(total_amount) as avg_order_value,
MIN(last_updated) as first_order_time,
MAX(last_updated) as last_order_time
FROM orders_rw
WITH (
connector = 'iceberg',
type = 'append-only',
force_append_only = true,
s3.endpoint = 'http://minio-0:9301',
s3.access.key = 'access_key',
s3.secret.key = 'secret_key',
s3.region = 'ap-southeast-1',
catalog.type = 'storage',
catalog.name = 'demo',
warehouse.path = 's3://icebergdata/demo',
database.name = 's1',
table.name = 't1'
);For comprehensive configuration details, please refer to the Iceberg connector documentation.
Capabilities
What you can do with RisingWave + Apache Iceberg
Continuous Delivery
Automatically sink processed results from RisingWave to Apache Iceberg as new data arrives. No batch jobs needed.
Exactly-once Semantics
Guaranteed data correctness when delivering to Apache Iceberg with barrier-based checkpointing.
Upsert & Append
Support both append-only and upsert modes when sinking to Apache Iceberg, depending on your use case.
Sink Decoupling
Built-in buffering ensures RisingWave stays stable even if Apache Iceberg experiences temporary slowdowns.
Resources
Learn more
Complete configuration reference, authentication options, and advanced features for the Apache Iceberg destination connector.
RisingWave also supports Apache Iceberg as a source. View the source connector.
Get RisingWave running locally in 5 minutes and try your first streaming pipeline.
Start streaming in minutes
Connect to Apache Iceberg with just a few lines of SQL. No infrastructure to manage, no code to write.