優化
適用於:磚的SQL磚運行時
優化Delta Lake數據布局。可選地優化數據子集或按列組合數據。如果未指定托管位置,則執行打包優化。
語法
優化table_name[在哪裏謂詞][ZORDER通過(col_name1(,...])]
請注意
裝箱優化是冪等,這意味著如果在同一數據集上運行兩次,第二次運行沒有影響。它的目標是根據數據文件在磁盤上的大小生成均衡的數據文件,但不一定是每個文件的元組數量。然而,這兩項指標通常是相關的。
z值是不是冪等但目標是一個增量操作。z排序所花費的時間不能保證在多次運行中減少。然而,如果沒有新的數據被添加到一個Z-Ordered分區,那麼該分區的另一個Z-Ordered將不會有任何影響。它的目標是根據元組的數量生成均衡的數據文件,但不一定是磁盤上的數據大小。這兩個度量通常是相關的,但有時情況並非如此,從而導致優化任務時間的傾斜。
請注意
在使用Databricks Runtime時,要控製輸出文件大小,請設置火花配置spark.databricks.delta.optimize.maxFileSize
.默認值為1073741824
,將大小設置為1gb。指定值104857600
設置文件大小為100mb。
參數
標識現有的Delta表。名稱中不能包含時間規範.
在哪裏
優化與給定分區謂詞匹配的行子集。隻支持包含分區鍵屬性的篩選器。
ZORDER通過
在同一組文件中合並列信息。Delta Lake數據跳過算法使用共局部性來顯著減少需要讀取的數據量。可以為指定多個列
ZORDER通過
作為逗號分隔的列表。但是,每增加一列,局部性的有效性就會下降。
例子
優化事件優化事件在哪裏日期> =“2017-01-01”優化事件在哪裏日期> =current_timestamp()-時間間隔1一天ZORDER通過(eventType)
有關的更多信息優化
命令,看到緊湊的數據文件與優化三角洲湖.