Kafka → Iceberg
Stream Kafka topics into Apache Iceberg tables with SQL transformations. Replace Kafka Connect + Spark with a single SQL-based streaming pipeline.
The Problem
Kafka Connect sinks data to Iceberg but cannot transform it. Production pipelines need filtering, joins, aggregations, and schema mapping — which forces teams to bolt on Spark or Flink jobs, creating a fragile multi-tool architecture. Each additional tool adds latency, operational burden, and failure modes.
The Solution
RisingWave replaces the entire Kafka Connect + Spark + Airflow stack with a single SQL statement. You define a source (Kafka topic), write SQL transformations, and create an Iceberg sink — all in one system. RisingWave handles state management, exactly-once delivery, and schema evolution automatically.
Filter, join, aggregate, and reshape Kafka data using standard SQL before it reaches Iceberg
Automatically handle schema changes from Kafka Schema Registry without pipeline restarts
Leverage Iceberg hidden partitioning with time-based and bucket transforms for optimized queries
Write data in optimally-sized Parquet files that minimize Iceberg compaction overhead
Architecture
A production architecture typically involves Kafka Connect, Flink, or RisingWave to move and transform data. Kafka Connect requires companion tools for any transformation. Flink offers full power but demands Java expertise. RisingWave provides the same capabilities through SQL with significantly lower operational complexity.
| Factor | Kafka Connect | Apache Flink | RisingWave |
|---|---|---|---|
| Language | Config (JSON) | Java / Scala | SQL |
| Transforms | None (SMTs are limited) | Full (DataStream API) | Full (SQL joins, aggs, UDFs) |
| State Management | N/A | Manual (RocksDB) | Automatic |
| Exactly-Once | Partial (sink-dependent) | Yes (complex config) | Yes (built-in) |
| Ops Complexity | Low (no transforms) | High (JVM tuning, checkpoints) | Low (SQL-only) |
Replace your multi-tool pipeline with a single SQL statement.
Start Kafka to Iceberg Pipeline