Photon 執行時間

Photon 是 Azure Databricks 上的原生向量化查詢引擎,其撰寫成直接與 Apache Spark API 相容,因此可與現有的程式碼搭配運作。 它是在 C++ 中開發,利用現代化硬體,並使用向量化查詢處理的最新技術,以利用 CPU 中的資料和指令層級平行處理原則,增強真實世界資料和應用程式的效能,這全都是在資料湖上原生。 Photon 是高效能執行時間的一部分,可更快速地執行現有的 SQL 和 DataFrame API 呼叫,並減少每個工作負載的總成本。 Photon 預設會在 Databricks SQL 倉儲中使用。

Azure Databricks 叢集

Photon 適用于執行 Databricks Runtime 9.1 LTS 和更新版本之叢集。

若要啟用 Photon 加速,請在建立叢集時選取 [使用 Photon 加速] 核取方塊。 如果您使用 叢集 API 建立叢集,請將 設定 runtime_enginePHOTON

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

相片涵蓋範圍

運算子

  • 掃描、篩選、專案
  • 雜湊匯總/聯結/隨機顯示
  • Nested-Loop聯結
  • Null-Aware反聯結
  • Union、Expand、ScalarSubquery
  • Delta/Parquet 寫入接收
  • Sort
  • Window 函式

運算式

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

資料類型

  • Byte/Short/Int/Long
  • Boolean
  • 字串/二進位
  • Decimal
  • 浮點數/雙精度浮點數
  • 日期/時間戳記
  • 結構
  • Array
  • 對應

Photon 優點

  • 支援對 Delta 和 Parquet 資料表的 SQL 和對等 DataFrame 作業。
  • 預期會加速處理大量資料 (100GB+) 的查詢,並包含匯總和聯結。
  • 從磁片快取重複存取資料時,效能更快。
  • 具有許多資料行和許多小型檔案之資料表的更強固掃描效能。
  • 使用 、、 INSERTDELETEMERGE INTOCREATE TABLE AS SELECT 更快速的 UPDATE Delta 和 Parquet 寫入,特別是針對寬型資料表, (數百到數千個數據行) 。
  • 以雜湊聯結取代排序合併聯結。

限制

  • 不支援 Spark 結構化串流。
  • 不支援 UDF。
  • 不支援 RDD API。
  • 不應該改善短期執行的查詢, (< 2 秒) ,例如針對少量資料的查詢。

Photon 不支援的功能會以與 Databricks Runtime 相同的方式執行;這些功能沒有效能優勢。