共用方式為


Azure Databricks 上的優化建議

Azure Databricks 提供許多優化措施,可支援湖倉上的各種工作負載,包括從大規模的 ETL 處理到隨需互動式查詢。 其中許多優化都會自動進行。 您只要使用 Azure Databricks 即可獲得其優點。 此外,大部分的 Databricks 運行時間功能都需要 Delta Lake,這是用來在 Azure Databricks 中建立數據表的預設格式。

Azure Databricks 會設定將大部分工作負載優化的預設值。 但在某些情況下,變更組態設定可改善效能。

Databricks 執行時效能改進

注意

使用最新的 Databricks Runtime 來利用最新的效能增強功能。 這裡記載的所有行為預設都會在 Databricks Runtime 10.4 LTS 和更新版本中啟用。

  • 磁碟快取 將數據載入至連接至計算叢集的磁碟區,加速對 Parquet 資料檔的重複讀取。
  • 動態檔案剪除 會略過不包含符合查詢述詞之數據文件的目錄,以改善查詢效能。
  • 低隨機合併 可減少作業所需重寫的數據檔案數量,並減少重新計算 MERGE 叢集的需求。
  • Apache Spark 3.0 引進自適應查詢執行,可為許多操作提供增強的效能。

Databricks 增強效能的建議

  • 您可以在 Azure Databricks 上 複製 數據表,以建立來源數據集的深層或淺層複本。
  • 成本型優化器 利用數據表統計數據來加速查詢效能。
  • 您可以使用 Spark SQL 與 JSON 字串互動, 而不剖析字串。
  • 高階函式 可為許多沒有常見 Spark 運算元的作業,提供內建的優化性能。 較高順序的函式比用戶定義的函式提供效能優勢。
  • Azure Databricks 提供許多內建運算符和特殊語法,以處理 複雜的數據類型,包括陣列、結構及 JSON 字串。
  • 您可以手動調整範圍聯結的設定。 請參閱 範圍聯結優化

選擇加入行為

  • Azure Databricks 預設提供寫入串行化隔離保障;若有需要讀取串行化時,可將隔離等級變更為串行化,這可能會降低並行作業的輸送量。
  • 您可以使用 bloom 篩選索引 來減少掃描未包含符合指定條件之記錄的數據檔的可能性。