文档首页/ MapReduce服务 MRS/ 组件操作指南(LTS版)/ 使用Iceberg(MRS 3.6.0.1及之后版本)/ Iceberg支持的功能与表配置/ Iceberg表Schema演进介绍
更新时间:2026-06-11 GMT+08:00
Iceberg表Schema演进介绍
Iceberg支持原地表演进,不需要新建表和重写数据,通过修改元数据就可以完成表演进。
Schema演进介绍
Iceberg支持以下Schema演进:
- 添加:向表或嵌套结构中添加新列。
- 删除:从表或嵌套结构中移除现有列。
- 重命名:重命名现有列或嵌套结构中的字段。
- 更新:扩大列、结构字段、Map键、Map值或列表元素的类型。需注意,Map键不支持添加或删除会改变相等性的结构字段。
- 重新排序:更改列或嵌套结构中字段的顺序。
Iceberg的模式更新是元数据更改,因此执行更新不需要重写任何数据文件。具体的操作SQL请参考Spark DDL。
数据类型支持的演进范围
- 基本数据类型支持的演进范围如表1所示。示例请参见ALTER TABLE ALTER COLUMN。
- struct类型支持的演进范围如下:
- 删除struct中的字段。
- struct添加新字段。
- 重命名struct中的字段。
- 重新排序struct中的字段。
- 演进struct中的字段(参考表1)。
父主题: Iceberg支持的功能与表配置