共用方式為


什麼是 Photon?

本文說明在 Photon 查詢引擎上執行工作負載的優點。

Photon 是高效能 Azure Databricks 本機向量化查詢引擎,可更快地執行 SQL 工作負載和 DataFrame API 調用,以降低每個工作負載的總成本。 Photon 與 Apache Spark API 相容,因此可與現有程式碼搭配使用。

Photon 功能

以下是使用 Photon 的主要特性和優點。

  • 支援 Delta 和 Parquet 的 SQL 以及相應 DataFrame 作業 tables。
  • 加快處理資料的加速查詢,並包含彙總和聯結。
  • 從磁碟快取重複存取資料時,效能更快。
  • 強固掃描效能於 tables 上,包含許多 columns 和小型檔案。
  • 加快 Delta 和 Parquet 撰寫速度,使用 UPDATEDELETEMERGE INTOINSERTCREATE TABLE AS SELECT,包括包含數千個 columns的寬 tables。
  • 以雜湊聯結取代排序合併聯結。
  • 對於 AI 和 ML 工作負載,Photon 使用 Spark SQL、Spark DataFrames、特徵工程、GraphFrames 和 xgboost4j 提高應用程式效能。

Photon 啟用

Photon 啟用情況因計算類型而異:

設定 Photon 啟用

若要在所有用途和作業計算上啟用或停用 Photon,select[計算 UI中的 [使用 Photon 加速] 複選框。

使用叢集 API工作 API 建立的任何計算預設不啟用 Photon。 若要啟用 Photon,您必須將 set 設定 runtime_engine 屬性為 PHOTON

支援的執行個體類型

Photon 支援驅動程式和背景工作角色節點上的多個執行個體類型。 Photon 執行個體類型消耗 DBU 的速率與執行非 Photon 執行階段的相同執行個體類型不同。 如需 Photon 執行個體和 DBU 使用量的詳細資訊,請參閱 Azure Databricks 定價頁面

支援的運算子、運算式和資料類型

以下是 Photon 涵蓋的運算子、運算式和資料類型。

運算子

  • 掃描, 篩選, 專案
  • 哈希匯總/Join/Shuffle
  • Nested-Loop Join
  • Null-Aware 反 Join
  • 聯合, 擴展, ScalarSubquery
  • Delta/Parquet 寫入接收器
  • Sort
  • Window 函式

運算式

  • 比較 / 邏輯
  • 算術 / 數學 (大部分)
  • 條件式 (IF、CASE 等)
  • 字串 (常見字串)
  • 轉型
  • 彙總 (最常見的彙總)
  • 日期/時間戳記

資料類型

  • 位元組/短/整型/長
  • 布林值
  • 字串/二進位
  • Decimal
  • 浮點數/雙精確度
  • 日期/時間戳記
  • 結構
  • 陣列
  • 地圖

需要 Photon 的功能

以下是需要 Photon 的功能。

限制

  • 結構化串流:Photon 目前支援使用 Delta、Parquet、CSV 和 JSON 的無狀態串流。 寫入 Delta 或 Parquet 接收器時,支援無狀態 Kafka 和 Kinesis 串流。
  • Photon 不支援 UDF、RDD API 或資料集 API。
  • Photon 不會影響一般在兩秒之內執行的查詢。

如果您的工作負載遇到不支援的作業,計算資源將切換到標準執行階段引擎來處理剩餘的工作負載。