数据管线最怕上游表格突然多一列:过去,Polars 向 Apache Iceberg 表追加数据时,字段必须完全一致,否则就会报错,工程师得先手动改表。Polars 1.44 给 sink_iceberg 增加了 schema evolution(表结构演进):使用 schema_mode="merge" 后,它会按名称匹配字段,并把缺少的新列写入表结构,无需重写旧数据文件。旧记录没有这个字段时,读取结果显示为 null。
这项改动值得注意,因为 Iceberg——一种管理数据湖大型表格、版本和结构的开放表格式——常被放在持续运行的数据管线里。字段变化不再必然打断写入,提交还可附带管线名、运行编号等自定义元数据;若选择覆盖模式,旧快照仍保留在表历史中。
同一版本也处理了另外两类生产摩擦:云端 I/O 会根据对象存储的承受能力调节请求速度,遇到拒绝时迅速降速;SQL 层则重新调整,以支持相关子查询——即内层查询引用外层当前行的值。发布材料没有披露这些改动的性能测试结果。