Photonとは?

適用対象: チェックマーク:はい Databricks SQL チェックマーク:はい Databricks Runtime 9.1 以降

Photonでワークロードを実行する利点、Photonがサポートする機能、Photonを有効または無効にする方法について学びます。 Photon は Databricks SQL ウェアハウスのデフォルトによってオンになっており、Apache Spark APIsと互換性があるため、既存のコードで動作します。

Photonは何に使用されますか?

Photonは、Databricksネイティブの高性能なベクトル化クエリーエンジンで、SQLワークロードとDataFrame API呼び出しをより高速に実行し、ワークロードあたりの総コストを削減します。

以下は、Photonを使用する主な機能と利点です。

  • Delta テーブルと Parquet テーブルでの SQL および同等の DataFrame 操作のサポート。

  • データをより高速に処理し、集計と結合を含む高速クエリー。

  • ディスクキャッシュからデータに繰り返しアクセスする場合のパフォーマンスが向上します。

  • 多くの列と多数の小さなファイルを持つテーブルでの堅牢なスキャンパフォーマンス。

  • UPDATEDELETEMERGE INTOINSERTCREATE TABLE AS SELECT(数千の列を含む幅の広いテーブルを含む) を使用した Delta と Parquet の書き込みの高速化。

  • ソート・マージ結合をハッシュ結合に置き換えます。

Photonを使い始める

Photon は、 Databricks Runtime 9.1 LTS 以降を実行しているクラスターで既定で有効になります。

クラスターでPhotonを手動で無効または有効にするには、 クラスターを作成または編集 するときに[ Use Photon Acceleration ]チェックボックスを選択します。

Clusters API を使用してクラスターを作成する場合は、runtime_enginePHOTONに設定します。

インスタンスタイプ

Photonは、ドライバーノードとワーカーノードで多くのインスタンスタイプをサポートしています。 Photonインスタンスタイプは、非Photonランタイムを実行している同じインスタンスタイプとは異なるレートでDBUを消費します。 Photon インスタンスと DBU の消費量の詳細については、 Databricks の価格ページを参照してください。

演算子、式、およびデータ型

以下は、Photonがカバーする演算子、式、およびデータ型です。

演算子

  • スキャン、フィルター、投影

  • ハッシュ集計/結合/シャッフル

  • ネスト・ループ結合

  • ヌル対応アンチジョイン(Null-Aware Anti Join)

  • Union、Expand、ScalarSubquery

  • Delta/Parquet 書き込みシンク

  • 並べ替え

  • ウィンドウ関数

  • 比較/ロジック

  • 算数/数学(ほとんど)

  • 条件付き (IF、CASE など)

  • 文字列(一般的なもの)

  • キャスト

  • アグリゲート(最も一般的なもの)

  • 日付/タイムスタンプ

データの種類

  • バイト/ショート/イント/ロング

  • ブール値

  • 文字列/バイナリ

  • DECIMALタイプ

  • Float/Double (浮動小数点数/倍精度

  • 日付/タイムスタンプ

  • 構造体

  • 配列

  • 地図

Photonを必要とする機能

以下は、Photonを必要とする機能です。

制限事項

  • 構造化ストリーミング: Photonは現在、Delta、Parquet、CSV、JSONによるステートレスストリーミングをサポートしています。 ステートレスな Kafka と Kinesis のストリーミングは、Delta または Parquet シンクへの書き込み時にサポートされます。

  • PhotonはUDFやRDD APIsをサポートしていません。

  • Photonは、通常2秒以内に実行されるクエリーには影響を与えません。

Photon でサポートされていない機能は、Databricks Runtime と同じように実行されます。