緊湊的數據文件與優化在三角洲湖
看到優化。
三角洲湖磚可以提高閱讀的速度從表查詢。改善這種速度的一個方法是將小文件合並成更大的。
語法的例子
你觸發壓縮通過運行優化
命令:
優化δ。' /數據/事件”
從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值統計,批次的數量,和分區優化。
你也可以緊湊的小文件自動使用汽車壓實。看到汽車壓實對磚三角洲湖。