更新时间:2025-08-25 GMT+08:00

创建、清空、删除Iceberg表

Iceberg表将数据存储在OBS上。DataArtsFabric SQL可以直接访问OBS上的Iceberg数据。

创建Iceberg表

通过CREATE TABLE语法创建Iceberg表。与其他格式的表相比,创建Iceberg表没有特别的参数需要指定,只需要指定STORE AS ICEBERG即可。具体语法请参见CREATE TABLE

示例:

1
2
3
4
5
6
7
8
9
CREATE TABLE iceberg_ext(
col1 int,
col2 varchar(20),
...
)PARTITION BY (col3 bigint) 
TABLEPROPERTIES (
'write.metadata.delete-after-commit.enabled'='true'
'write.metadata.previous-versions-max' = '10' 
) STORE AS ICEBERG;

其中write.metadata.delete-after-commit.enabled控制是否在提交事务后删除旧版本元数据文件,默认情况为false。true的情况下,可以通过write.metadata.previous-versions-max设定保留多少个metadata。

使用这两个参数需要谨慎,虽然删除元数据文件可以节省存储空间,但需要确保不会影响数据的一致性和可用性。

清空Iceberg表

通过TRUNCATE TABLE语法清空表中的数据,具体语法请参见TRUNCATE

示例:

1
TRUNCATE TABLE iceberg_ext;

删除Iceberg表

通过DROP TABLE语法删除Iceberg表,会同时删除表的元数据及数据(Managed表删除后可以从LakeFormation控制台恢复表的元数据及数据)。具体语法请参见DROP TABLE

示例:

1
DROP TABLE iceberg_ext;