What this does: Creates a continuously running sink that writes RisingWave data to an Iceberg table, with RisingWave managing compaction, small-file cleanup, and snapshot maintenance automatically. When to use this: You need durable, open-format storage for streaming data that is also queryable by Spark, Trino, DuckDB, or other analytical engines.Documentation Index
Fetch the complete documentation index at: https://docs.risingwave.com/llms.txt
Use this file to discover all available pages before exploring further.
Setup
1. Ingest source data
2. Create a materialized view to transform data
3. Create the Iceberg sink
4. Query the Iceberg table from another engine (optional)
Key points
type = 'append-only'for event streams;type = 'upsert'for tables with primary keys (requiresprimary_keyoption)- RisingWave automatically handles Iceberg compaction, small-file optimization, and snapshot cleanup — no external scheduler needed
- Data written to Iceberg is immediately readable by Spark, Trino, DuckDB, and other Iceberg-compatible engines
- For upsert mode:
CREATE SINK ... WITH (type = 'upsert', primary_key = 'id', ...)
Next steps
- Lakehouse ingestion recipe — full CDC + Kafka → Iceberg pipeline
- Iceberg overview — catalog types, write modes, maintenance