Iceberg tables and connectors in Cloudera SQL Stream Builder
The Iceberg connector and catalog in Cloudera SQL Stream Builder support Kubernetes deployments, including Kafka to Iceberg upsert pipelines.
Prerequisites
Iceberg, Hive, Hadoop, and Kudu connectors ship in the alternative Flink image. Enable it during install as described in Installation overview. Cloudera SQL Stream Builder exposes Iceberg as a first-class catalog type under Data Sources and Catalogs.
Kafka to Iceberg live upsert
Streaming upsert into Iceberg tables requires exactly-once checkpointing. Without checkpointing, the Iceberg sink cannot commit incremental files reliably and the job may fail or produce duplicates.
Enable checkpointing in the Flink configuration for the job, for example:
execution.checkpointing.interval: 60s
state.checkpoints.dir: s3://<bucket>/checkpoints/
state.savepoints.dir: s3://<bucket>/savepoints/
Configure durable checkpoint storage through ssb.storageConfiguration or
per-job Advanced Settings before you start a Kafka to Iceberg upsert pipeline.
Iceberg table and catalog properties
When you create an Iceberg table in Cloudera SQL Stream Builder, set catalog and table options that match your object store and metastore:
- For S3-backed catalogs, use the alternative image and ensure Hadoop S3A settings are
available through
storageConfigurationor mountedcore-site.xml. - Specify the Iceberg catalog type (for example Hive or Hadoop) and warehouse location in the catalog DDL.
- For upsert mode, define primary key columns and set the Iceberg write mode to upsert in the table DDL or sink configuration.
Iceberg catalogs that use s3a paths resolve the filesystem implementation
correctly when the alternative image is enabled.
