共用方式為


什麼是 Photon?

適用於:檢查標示為是Databricks SQL 檢查標示為是 Databricks Runtime 9.1 和更新版本 檢查標示為是 Databricks Runtime 15.2 ML 和更新版本

瞭解在 Photon 上執行工作負載的優點、其支援的功能,以及如何啟用或停用 Photon。 Photon 預設會在 Databricks SQL 倉儲中開啟,且與 Apache Spark API 兼容,因此它適用於您現有的程式代碼。

Photon 的用途為何?

Photon 是高效能的 Azure Databricks 原生向量化查詢引擎,可更快速地執行 SQL 工作負載和 DataFrame API 呼叫,以降低每個工作負載的總成本。

以下是使用 Photon 的主要功能和優點。

  • 支援使用 Delta 和 Parquet 數據表的 SQL 和對等 DataFrame 作業。
  • 加快處理數據的加速查詢,並包含匯總和聯結。
  • 從磁碟快取重複存取數據時,效能更快。
  • 具有許多數據行和許多小型檔案之數據表的強固掃描效能。
  • 使用UPDATE、 、 、MERGE INTOINSERTDELETECREATE TABLE AS SELECT撰寫的 Delta 和 Parquet 更快,包括包含數千個數據行的寬數據表。
  • 以哈希聯結取代排序合併聯結。
  • 針對 AI 和 ML 工作負載,Photon 會使用 Spark SQL、Spark DataFrame、特徵工程、GraphFrame 和 xgboost4j 改善應用程式的效能。

開始使用 Photon

在執行 Databricks Runtime 9.1 LTS 和更新版本之叢集上,預設會啟用 Photon。 Photon 也適用於執行 Databricks Runtime 15.2 的叢集,適用於 機器學習 和更新版本。

若要在叢集上手動停用或啟用 Photon,請在建立或編輯叢集時選取 [使用 Photon 加速] 複選框。

如果您使用叢集 API 建立叢集,請將 設定runtime_enginePHOTON

執行個體類型

Photon 支援驅動程式和背景工作節點上的一些實例類型。 Photon 實例類型會以與執行非 Photon 運行時間的相同實例類型不同的速率取用 DBU。 如需 Photon 實例和 DBU 耗用量的詳細資訊,請參閱 Azure Databricks 定價頁面

運算子、運算式和數據類型

以下是 Photon 所涵蓋的運算子、運算式和數據類型。

運算子

  • 掃描、篩選、專案
  • 哈希匯總/聯結/隨機顯示
  • 巢狀循環聯結
  • Null 感知反聯結
  • Union、Expand、ScalarSubquery
  • Delta/Parquet 寫入接收
  • Sort
  • 視窗函式

運算式

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

資料類型

  • Byte/Short/Int/Long
  • 布林值
  • 字串/二進位
  • Decimal
  • 浮點數/雙精度浮點數
  • 日期/時間戳
  • 結構
  • 陣列
  • 地圖

需要 Photon 的功能

以下是需要 Photon 的功能。

限制

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

Photon 不支援的功能會以與 Databricks Runtime 相同的方式執行。