delta-lake - Delta Lake 的自定义元数据/标签?
问题描述
我正在尝试将两个表的版本联系在一起。就像表 A 的第 1 版用于生成表 B 的第 3 版一样,我想知道这一点。Delta Lake 中是否已经存在可以轻松实现此功能的东西?
我想也许我可以尝试始终使两个版本号匹配,例如如果我更改一个表,我也会对另一个表进行额外的操作。但这似乎不是一个真正的解决方案,也不是一个强大的解决方案。
先感谢您!
解决方案
由于 Delta 中没有自定义元数据机制,并且由于无法跨 Delta 表协调事务,因此解决此问题的最佳实践是在数据中添加额外的列。
不要担心存储成本,因为 Parquet 压缩将使用不同的小空间来长时间运行,列中具有相同的值。不要担心查询性能,因为 (a) 如果您不需要元数据列,它们将不会被检索,并且 (b) 因为如果您确实需要按元数据过滤,Delta stats 集合将优化查询。
希望这可以帮助。
推荐阅读
- xslt - XSLT 提取 URL 参数
- javascript - 如何使用 Mongoose 更新数组中对象的字段
- docker - Docker 服务端口更改
- kubernetes - Kubernetes 上的 JFrog Container Registry 在 UI 端点上返回 404
- vba - 使用 Access VBA 更改列 .csv 文件的值
- object - 如何在键中放置一个与 Gnuplot 中阴影区域相同色调的矩形?
- java - 如何在 Android Java 中处理来自 JSON 的关联数组
- angular - 当设置占位符时,在 Internet Explorer 11 中的页面加载时调用 matInput 的输入事件
- reactjs - 将更新的状态值从父级传递给子级。反应打字稿
- ios - iOS swift在键盘中隐藏表情符号图标