Catalyst Optimizer:
Catalystオプティマイザ

用語集トップに戻る
Catalyst オプティマイザとは、Spark SQL で主要な役割を果たす最適化機能です。Scala のパターンマッチングや準クォートなどの高度なプログラミング言語の機能を斬新な方法で利用し、拡張可能なクエリオプティマイザを構築します。Catalyst は Scala の関数型プログラミング構造に基づいており、次の 2 つの主要な目的を想定して設計されています。
  • Spark SQLへの新しい最適化技術と機能の追加を容易にする
  • 外部の開発者でもオプティマイザの拡張を実行できるようにする(データソース特有のルール追加、新規データ型のサポートなど)
Catalystオプティマイザの図Catalystには、ツリーを表示しルールを適用して操作するための一般的なライブラリが含まれています。このフレームワークに加えて、リレーショナルクエリ処理(数式、論理クエリプランなど)に特化したライブラリと、分析、ロジック最適化、物理的プランニング、Javaバイトコードに一部のクエリをコンパイルするコード生成など、クエリ実行のさまざまなフェーズを処理する数種類のルールセットがあります。ルールセットは、Scalaの別の機能である準クォートを使用し、実行時に構成可能な式からコードを生成しやすくします。Catalystは、外部データソースやユーザー定義型など、パブリックの拡張ポイントをいくつか提供し、ルールベースとコストベースの最適化をサポートします。[glossary-cta]
Glossaryに戻る