VIPIceberg
Iceberg Schema Evolution 是怎么实现的?为什么改列名不会读错数据
先抓住题目的核心考点,再把答案拆成可复述的面试表达。
3 次浏览2026/8/24
先下定义一句话说清它是什么,面试官先听到结论。
再讲机制拆出关键流程、边界条件和常见坑位。
最后落场景结合生产经验,说出什么时候用、怎么权衡。
题目描述
请回答:Iceberg Schema Evolution 是怎么实现的?为什么改列名不会读错数据
Schema Evolution 经常被回答成一句话:“Iceberg 支持加列、删列、改列名,不需要重写数据。”这句话没错,但没有解释最关键的问题:旧 Parquet 文件里还是原来的列,改名后 Iceberg 为什么知道该读哪一列?
面试官真正想听的是:Iceberg 为什么用 Field ID 而不是列名或位置识别字段?哪些变更是安全的元数据操作?为什么删除字段后再新增同名字段,不会把旧数据重新读出来?
评论
加载中...