
# 创建、清空、删除Iceberg表
Iceberg表将数据存储在OBS上。DataArts Fabric SQL可以直接访问OBS上的Iceberg数据。
#### 创建Iceberg表
通过CREATE TABLE语法创建Iceberg表。与其他格式的表相比，创建Iceberg表没有特别的参数需要指定，只需要指定STORE AS ICEBERG即可。具体语法请参见[CREATE TABLE](https://support.huaweicloud.com/devg-fabric/dataartsfabric_sql_04_0288.html)。
示例：
```
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](https://support.huaweicloud.com/devg-fabric/dataartsfabric_sql_04_0298.html)。
示例：
```
TRUNCATE TABLE iceberg_ext;
```
#### 删除Iceberg表
通过DROP TABLE语法删除Iceberg表，会同时删除表的元数据及数据（Managed表删除后可以从LakeFormation控制台恢复表的元数据及数据）。具体语法请参见[DROP TABLE](https://support.huaweicloud.com/devg-fabric/dataartsfabric_sql_04_0291.html)。
示例：
```
DROP TABLE iceberg_ext;
```
