作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的一个增量表正在被外部服务使用。然而,这里的主要要求是良好的性能,而该工具读取增量格式的性能非常差。因此,我们当前所做的是使用 Vacuum 命令,以便在增量表中仅保留最新版本的数据。该工具会忽略增量日志,因此它会立即读取表的所有现有版本。然后,它从给定目录读取 Parquet 。
由于并发问题以及在具有大量分区的表上产生的高成本,我不想在这里使用 Vacuum。假设我的 delta 表当前在 A 列和 B 列上分区。有没有办法强制 delta 将与表的不同版本对应的 parquet 文件写入单独的目录?
这样我就可以有一个路径,我知道我只拥有属于我的增量表最新版本的文件?即
delta_table/A/B/version_1/
-> new version created ->
delta_table/A/B/
version_1/
version_2/
最佳答案
查看delta-rs .
您可以使用pip install deltalake
来安装它。
以下是获取 Delta 表中所有最新文件的方法:
dt = DeltaTable("resources/delta/1")
filenames = ["resources/delta/1/" + f for f in dt.files()]
delta-rs 没有 Spark 依赖项,因此它是可移植且轻量级的。
关于azure - 三角洲湖 : Partition by version (Azure Databricks),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74658701/
我目前在 databricks 中有一个附加表(spark 3,databricks 7.5) parsedDf \ .select("somefield", "anotherFiel
我是一名优秀的程序员,十分优秀!