Apache Iceberg Tables中文教程3-Evolution
文章目录
Evolution
Iceberg支持就地表格演进。您可以像使用SQL一样演进表格模式,即使是在嵌套结构中,或者在数据量发生变化时更改分区布局。Iceberg不需要昂贵的操作,比如重写表格数据或迁移到新表。
例如,Hive表的分区无法更改,因此从每日分区布局移动到每小时分区布局需要创建一个新表。并且由于查询依赖于分区,必须为新表重写查询。在某些情况下,即使是简单的更改,比如重命名列,要么不受支持,要么可能导致数据正确性问题。
Schema evolution
Iceberg支持以下模式演进更改:
- 添加:向表格或嵌套结构中添加新列
- 删除:从表格或嵌套结构中删除现有列
- 重命名:重命名现有列或嵌套结构中的字段
- 更新:扩展列、结构字段、映射键、映射值或列表元素的类型
- 重新排序:更改嵌套结构中的列或字段顺序
Iceberg模式更新是元数据更改,因此执行更新不需要重写数据文件。
请注意,映射键不支持添加或删除会改变相等性的结构字段。
Correctness
Iceberg保证模式演进更改是独立的,没有副作用,并且无

本文介绍了ApacheIceberg的表格演进功能,包括模式(如添加、删除和重命名列)、分区和排序顺序的更新,强调了这些操作的元数据性质,确保数据完整性且无需重写文件。
最低0.47元/天 解锁文章

5805

被折叠的 条评论
为什么被折叠?



