更新时间:2026-10-09 GMT+08:00
Iceberg on Flink DDL语法说明
基本建表语句
最基本的建表语句,指定表名、列定义及表属性。
CREATE TABLE lf_iceberg_catalog.iceberg_db.iceberg_table (
id BIGINT COMMENT 'unique id',
data STRING NOT NULL
) WITH ('format-version'='2'); 支持的常用子句:
- PARTITION BY (column1, column2, ...):配置分区,Flink 尚不支持隐式分区(hidden partitioning)。
- COMMENT 'table document':设置表描述。
- WITH ('key'='value', ...):设置表配置(存储在 Iceberg 表属性中)。
PRIMARY KEY(主键约束)
可以为单列或多列声明主键约束,主键必须唯一且不能包含 NULL。主键约束是 UPSERT 模式所必需的。
带主键约束的建表语句
CREATE TABLE lf_iceberg_catalog.iceberg_db.iceberg_table (
id BIGINT COMMENT 'unique id',
data STRING NOT NULL,
PRIMARY KEY(id) NOT ENFORCED
) WITH ('format-version'='2'); PARTITIONED BY(分区表)
使用 PARTITIONED BY 子句创建分区表。
分区表建表语句
CREATE TABLE lf_iceberg_catalog.iceberg_db.iceberg_table (
id BIGINT COMMENT 'unique id',
data STRING NOT NULL
) PARTITIONED BY (data)
WITH ('format-version'='2'); CREATE TABLE LIKE(复制表结构)
基于已有表创建具有相同表结构、分区和表属性的新表。
CREATE TABLE lf_iceberg_catalog.iceberg_db.iceberg_table ( id BIGINT COMMENT 'unique id', data STRING ); CREATE TABLE lf_iceberg_catalog.iceberg_db.iceberg_table_like LIKE lf_iceberg_catalog.iceberg_db.iceberg_table;
父主题: Iceberg on Flink