<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/tableflow-turn-kafka-topics-into-iceberg-tables-pofbfqmwz" -->

---
title: Tableflow: Turn Kafka Topics into Iceberg Tables | daily.dev
description: Confluent Tableflow is a managed Confluent Cloud feature that automatically materializes Apache Kafka topics as Apache Iceberg or Delta Lake tables,...
canonical: https://daily.dev/posts/tableflow-turn-kafka-topics-into-iceberg-tables-pofbfqmwz
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Tableflow: Turn Kafka Topics into Iceberg Tables | daily.dev
og:description: Confluent Tableflow is a managed Confluent Cloud feature that automatically materializes Apache Kafka topics as Apache Iceberg or Delta Lake tables,...
og:url: https://daily.dev/posts/tableflow-turn-kafka-topics-into-iceberg-tables-pofbfqmwz
og:image: https://api.daily.dev/og/posts/pOFBfqmWZ.png
og:image:alt: Tableflow: Turn Kafka Topics into Iceberg Tables
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Tableflow: Turn Kafka Topics into Iceberg Tables

**[Confluent Blog](https://daily.dev/sources/conf)** · 9 min read · 1 upvotes · 0 comments

## Summary

Confluent Tableflow is a managed Confluent Cloud feature that automatically materializes Apache Kafka topics as Apache Iceberg or Delta Lake tables, eliminating the need for custom ETL pipelines. It converts Kafka topic data (Avro, JSON Schema, Protobuf) into Parquet files, generates Iceberg/Delta Lake metadata, and publishes tables to catalogs like AWS Glue or Unity Catalog. The post walks through a step-by-step setup using Confluent Cloud, Amazon S3, and AWS Glue, covering cluster creation, schema registration, S3 bucket setup, IAM role configuration, and enabling Tableflow on a topic. Schema evolution is handled automatically via Confluent Schema Registry. Once materialized, tables can be queried from Snowflake, Databricks, AWS Athena, Trino, and BigQuery.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://www.confluent.io/blog/tableflow-kafka-iceberg>

## Questions this post answers

### How does Confluent Tableflow convert Kafka topics into Iceberg tables?

Tableflow uses Confluent's Kora storage layer to transform Kafka topic data from Avro, JSON Schema, or Protobuf into Parquet files, then generates Iceberg or Delta Lake metadata and publishes the tables through a built-in Iceberg REST catalog or external catalogs like AWS Glue or Unity Catalog, with Schema Registry governing schema mapping and evolution.

_daily.dev surfaces practical walkthroughs for teams wiring Kafka into Iceberg-based analytics stacks._

### What schema changes does Confluent Tableflow automatically propagate to Iceberg tables?

Tableflow automatically applies compatible schema changes governed by Confluent Schema Registry compatibility rules, including adding new nullable columns defaulted to null, removing columns where allowed, and widening types such as int to long, float to double, or increasing decimal precision. Incompatible changes require manual intervention and can suspend materialization for the affected topic.

_Engineers managing schema evolution across Kafka and Iceberg can track these compatibility rules on daily.dev._

### Which analytics engines can query Kafka data materialized by Confluent Tableflow?

Tableflow-materialized Iceberg or Delta Lake tables can be queried directly by Snowflake, Databricks, AWS Athena, Amazon Redshift, Trino, and BigQuery, since the tables are published through a REST catalog or external catalog integrations like AWS Glue and Unity Catalog without requiring custom ETL pipelines.

_daily.dev helps teams evaluating Kafka-to-warehouse analytics options compare engines like Snowflake and Athena._

## Similar posts on daily.dev

- [Feed your data lake with AI-ready tables for 30-50% lower cost](https://daily.dev/posts/feed-your-data-lake-with-ai-ready-tables-for-30-50-lower-cost-mpdjf1hfv) · Confluent Blog · 0 upvotes · 0 comments
- [Covered Data Lake Architecture with Confluent Tableflow](https://daily.dev/posts/covered-data-lake-architecture-with-confluent-tableflow-vshnukbvc) · Confluent Blog · 0 upvotes · 0 comments
- [From Stream to Lakehouse: Kafka Ingestion with the Flink Dynamic Iceberg Sink](https://daily.dev/posts/from-stream-to-lakehouse-kafka-ingestion-with-the-flink-dynamic-iceberg-sink-pfq6etf8x) · Flink · 2 upvotes · 0 comments
- [Log-first or Table-first? Apache Kafka, Fluss, and Streaming Tables](https://daily.dev/posts/log-first-or-table-first-apache-kafka-fluss-and-streaming-tables-snmbj1hty) · SoftwareMill · 0 upvotes · 0 comments
- [Dynamic Tables on Iceberg](https://daily.dev/posts/dynamic-tables-on-iceberg-fra29yj5e) · Snowflake Community · 0 upvotes · 0 comments

---

Tags: [#backend](https://daily.dev/tags/backend), [#apache-kafka](https://daily.dev/tags/apache-kafka), [#confluent-cloud](https://daily.dev/tags/confluent-cloud), [#apache-iceberg](https://daily.dev/tags/apache-iceberg)

[View this post on daily.dev](https://daily.dev/posts/tableflow-turn-kafka-topics-into-iceberg-tables-pofbfqmwz)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Tableflow: Turn Kafka Topics into Iceberg Tables","url":"https://daily.dev/posts/tableflow-turn-kafka-topics-into-iceberg-tables-pofbfqmwz","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/tableflow-turn-kafka-topics-into-iceberg-tables-pofbfqmwz"},"datePublished":"2026-07-10T15:41:51.841Z","dateModified":"2026-09-13T19:51:30.925Z","description":"Confluent Tableflow is a managed Confluent Cloud feature that automatically materializes Apache Kafka topics as Apache Iceberg or Delta Lake tables,...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/5957214543e61b2009e2522cc6045172?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/5957214543e61b2009e2522cc6045172?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Confluent Blog","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Confluent Blog","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/cb2c20a237b7409591c7a087c42fb714","url":"https://daily.dev/sources/conf"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/tableflow-turn-kafka-topics-into-iceberg-tables-pofbfqmwz","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":1},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"backend,apache-kafka,confluent-cloud,apache-iceberg","timeRequired":"PT9M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Confluent Blog","item":"https://daily.dev/sources/conf"},{"@type":"ListItem","position":3,"name":"Tableflow: Turn Kafka Topics into Iceberg Tables"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/tableflow-turn-kafka-topics-into-iceberg-tables-pofbfqmwz#faq","mainEntity":[{"@type":"Question","name":"How does Confluent Tableflow convert Kafka topics into Iceberg tables?","acceptedAnswer":{"@type":"Answer","text":"Tableflow uses Confluent's Kora storage layer to transform Kafka topic data from Avro, JSON Schema, or Protobuf into Parquet files, then generates Iceberg or Delta Lake metadata and publishes the tables through a built-in Iceberg REST catalog or external catalogs like AWS Glue or Unity Catalog, with Schema Registry governing schema mapping and evolution. daily.dev surfaces practical walkthroughs for teams wiring Kafka into Iceberg-based analytics stacks."}},{"@type":"Question","name":"What schema changes does Confluent Tableflow automatically propagate to Iceberg tables?","acceptedAnswer":{"@type":"Answer","text":"Tableflow automatically applies compatible schema changes governed by Confluent Schema Registry compatibility rules, including adding new nullable columns defaulted to null, removing columns where allowed, and widening types such as int to long, float to double, or increasing decimal precision. Incompatible changes require manual intervention and can suspend materialization for the affected topic. Engineers managing schema evolution across Kafka and Iceberg can track these compatibility rules on daily.dev."}},{"@type":"Question","name":"Which analytics engines can query Kafka data materialized by Confluent Tableflow?","acceptedAnswer":{"@type":"Answer","text":"Tableflow-materialized Iceberg or Delta Lake tables can be queried directly by Snowflake, Databricks, AWS Athena, Amazon Redshift, Trino, and BigQuery, since the tables are published through a REST catalog or external catalog integrations like AWS Glue and Unity Catalog without requiring custom ETL pipelines. daily.dev helps teams evaluating Kafka-to-warehouse analytics options compare engines like Snowflake and Athena."}}]}
```

