共用方式為


什麼是 Photon?

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

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

Photon 功能

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

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

Photon 啟用

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

設定 Photon 啟用

若要對全用途和工作計算啟用或停用 Photon,請選取計算 UI 中的 [使用 Photon 加速] 核取方塊。

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

支援的執行個體類型

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

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

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

運算子

  • 掃描, 篩選, 專案
  • 雜湊彙總/聯結/隨機顯示
  • 巢狀迴圈聯結
  • Null 感知反聯結
  • 聯合, 擴展, ScalarSubquery
  • Delta/Parquet 寫入接收器
  • Sort
  • Window 函式

運算式

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

資料類型

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

需要 Photon 的功能

以下是需要 Photon 的功能。

限制

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

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