Real-time streaming ingestion for Apache Iceberg
K2I bridges the gap between Kafka and your data lakehouse. Sub-second freshness. Exactly-once delivery. Zero operational overhead.
Stream
Kafka ingestion with exactly-once delivery.
Buffer
Sub-second freshness via Arrow hot storage.
Persist
Auto-maintained Iceberg tables.
+-----------------------+ +-----------------------+ | | | | | KAFKA | | ICEBERG | | | | | | +---------------+ | | +---------------+ | | | topic-1 | | | | table-1 | | | +---------------+ | | +---------------+ | | | topic-2 | | +---------+ | | table-2 | | | +---------------+ |----->| K2I |----->| +---------------+ | | | topic-3 | | +---------+ | | table-3 | | | +---------------+ | sub-sec -> | +---------------+ | | | | | +-----------------------+ +-----------------------+ Events Analytics
Modern data teams want Apache Iceberg for their analytics workloads.
Open table formats, time travel, schema evolution, and cost-efficient object storage. But getting data from Kafka into Iceberg is harder than it should be.
The Latency-Cost Trade-off
Real-time streaming: milliseconds, but expensive and complex.
Batch ETL: cost-efficient, but hours of delay.
You shouldn't have to choose.
The Small File Problem
Streaming into Iceberg creates thousands of tiny files per hour.
- Query performance degrades
- Metadata explodes
- Storage costs spiral
Compaction becomes a full-time job.
Exactly-Once Nightmares
Coordinating Kafka offsets, object storage writes, and catalog commits is complex.
One failure = data loss or duplication.
You need guarantees, not hope.
K2I: Real-time Iceberg, simplified
K2I is a purpose-built streaming ingestion engine that solves the Kafka-to-Iceberg problem once and for all. A single Rust binary that runs anywhere, handles everything, and just works.
Sub-Second Freshness
K2I maintains an in-memory hot buffer using Apache Arrow. New events are immediately queryable while being accumulated for optimal file writes.
Exactly-Once Delivery
A write-ahead transaction log coordinates Kafka consumption, object storage writes, and catalog commits. Crash at any point? K2I recovers automatically.
Zero Operations
Auto-compaction, snapshot expiration, and orphan file cleanup. No cron jobs. No manual intervention.