紧凑的数据文件与优化在三角洲湖
看到优化。
三角洲湖砖可以提高阅读的速度从表查询。改善这种速度的一个方法是将小文件合并成更大的。
请注意
在砖运行时的13.2及以上,砖建议使用集群为三角洲表布局。看到使用液体集群为三角洲表。
语法的例子
你触发压缩通过运行优化
命令:
优化δ。' /数据/事件”
从delta.tables进口*deltaTable=DeltaTable。forPath(火花,“/数据/事件”)deltaTable。优化()。executeCompaction()
进口io。δ。表。_瓦尔deltaTable=DeltaTable。forPath(火花,“/数据/事件”)deltaTable。优化()。executeCompaction()
或者,交替:
优化事件
从delta.tables进口*deltaTable=DeltaTable。forName(火花,“事件”)deltaTable。优化()。executeCompaction()
进口io。δ。表。_瓦尔deltaTable=DeltaTable。forName(火花,“事件”)deltaTable。优化()。executeCompaction()
如果你有一个大的数据量,只有想优化的一个子集,您可以指定一个可选的分区使用谓词在哪里
:
优化事件在哪里日期> =“2022-11-18”
从delta.tables进口*deltaTable=DeltaTable。forName(火花,“事件”)deltaTable。优化()。在哪里(“日期= 2021-11-18”)。executeCompaction()
进口io。δ。表。_瓦尔deltaTable=DeltaTable。forName(火花,“事件”)deltaTable。优化()。在哪里(“日期= 2021-11-18”)。executeCompaction()
请注意
装箱优化幂等,也就是说,如果是相同的数据集上运行两次,第二次运行没有影响。
装箱计划生产均衡数据文件对磁盘上它们的大小,但不一定是元组每个文件的数量。然而,这两个指标往往是相关的。
Python和Scala api执行
优化
操作可从砖运行时11.0及以上。
三角洲的读者表使用快照隔离,这意味着他们不中断时优化
从事务日志删除不必要的文件。优化
没有相关数据修改表,所以读之前和之后的一个优化
有相同的结果。执行优化
桌子上这是一个流源不影响任何当前或未来的流,将此表作为一个源。优化
返回文件的统计数据(最小、最大、总,等等)的文件删除和添加的文件操作。优化数据也包含z值统计,批次的数量,和分区优化。
你也可以紧凑的小文件自动使用汽车压实。看到汽车压实对砖三角洲湖。