如何解决使用 Delta Lake 时间旅行来维护架构演变的数据备份
我有一个功能库(存储为 Parquet 文件),我目前在想要进行更改时会完全覆盖它,例如添加新功能。我想保留它的历史备份以实现可重复性,我想知道使用 Delta Lake 进行备份是否有意义。 特征存储的模式很简单
entity: string | feature_1: any | feature_2: any | ...
起初我想添加一个 created_at
列来指示我何时写入功能存储,然后我可以在该列上对其进行分区(因此我会从最新的分区中读取但其他分区可用作为备份),但据我所知,parquet 中的所有分区都必须具有相同的架构,这意味着添加新列将需要覆盖所有不包含它的旧分区,这会非常慢。
相反,我认为我会使用 Delta Lake,因为似乎如果我关闭模式强制,我可以继续“覆盖”同一个 delta Lake 表,这将允许我尽可能多地扩展我的模式并且是能够回滚到早期版本。
在 delta 湖上执行模式进化比在镶木地板上执行模式进化更便宜吗?还是我的理解有偏差?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。