0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

DatabricksのPhoton

Last updated at Posted at 2021-10-28

Photon | Databricks on AWS [2022/7/27時点]の翻訳です。

Photonは、Databricksにおけるネイティブのベクトル化されたクエリーエンジンであり、既存のコードを実行できるようにApache Spark APIと直接互換性があります。モダンなハードウェアを活用できるようにC++で実装されており、CPUにおけるデータ、命令レベルの並列性を利用するために、ベクトル化クエリー処理における最新技術を活用しています。さらには、データレイクに対してネイティブに動作することで、実世界のデータとアプリケーションにおけるパフォーマンスを改善しています。Photonはお使いのSQL、データフレームAPIを高速に実行する高性能ランタイムの一部であり、ワークロードあたりのトータルコストを削減します。Databricks SQLウェアハウスではデフォルトでPhotonが使用されます。

Databricksクラスター

DatabricksクラスターでPhotonにアクセスするには、UIあるいはAPI(Clusters API 2.0Jobs API 2.1において、<databricks-runtime-version>-photon-scala2.12の文法に従いspark_versionを指定します)を用いてクラスターを作成する際に明示的にPhotonを含むランタイムを選択する必要があります。Photonは、Databricksランタイム 9.1 LTS以降で利用できます。

Photonは、サポートするドライバーノード、ワーカーノードのインスタンスタイプを限定しています。Photonインスタンスタイプは、非Photonランタイムを実行する同じインスタンスタイプとは異なるレートのDBUを消費します。PhotonインスタンスとDBU消費に関しては、Databricksプライシングページをご覧ください。

Photonのカバレッジ

オペレーター

  • Scan, Filter, Project
  • Hash Aggregate/Join/Shuffle
  • Nested-Loop Join
  • Null-Aware Anti Join
  • Union, Expand, ScalarSubquery
  • Delta/Parquet Write Sink
  • Sort
  • Window Function

エクスプレッション

  • Comparison / Logic
  • Arithmetic / Math (ほぼすべて)
  • Conditional (IF, CASEなど)
  • String (一般的なもの)
  • Casts
  • Aggregates(一般的なものの大部分)
  • Date/Timestamp

データタイプ

  • Byte/Short/Int/Long
  • Boolean
  • String/Binary
  • Decimal
  • Float/Double
  • Date/Timestamp
  • Struct
  • Array
  • Map

利点

  • DeltaおよびParquetテーブルに対するSQLおよび同等のデータフレームオペレーションをサポート。
  • 大量のデータ(100GB以上)に対する集計、ジョインを含むクエリー処理の高速化が期待できる。
  • Deltaキャッシュから繰り返しデータがアクセされるときの高速なパフォーマンス。
  • 多くのカラム、多くの小規模ファイルを持つテーブルに対するスキャン性能の安定化。
  • 特に幅の広いテーブル(数百から数千のカラム数)において、UPDATEDELETEMERGE INTOINSERTCREATE TABLE AS SELECTを用いたDelta、Parquetへの書き込みの高速化。
  • ソートマージジョインをハッシュジョインで置き換える。

制限

  • Spark構造化ストリーミングは未サポート。
  • UDFは未サポート。
  • RDD APIは未サポート
  • 短時間のクエリー(2秒未満)、例えば、小規模データに対するクエリーでは性能改善が期待できない。

Photonでサポートされていない機能は、Databricksランタイムと同じように実行されます。これらの機能における性能面での利点はありません。

Databricks 無料トライアル

Databricks 無料トライアル

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?