Spark SQL
Databricks 無料トライアル
多くのデータサイエンティスト、アナリスト、一般的な BI ユーザーは、データの解析に対話型の SQL クエリに活用しています。Spark SQL とは、構造化データ処理のためのSparkモジュールです。DataFrames と呼ばれるプログラミングの抽象化が可能で、分散型 SQL クエリエンジンとしても機能します。これにより、既存のデプロイ やデータで未修正の Hadoop Hive クエリを最大 100 倍の速さで実行できるようになりました。また、他の Spark エコシステムとの統合も可能です。(例: SQL クエリ処理と機械学習の統合)
Apache Spark SQL とは
Spark SQL は、Spark での SQL のネイティブサポートを可能にし、RDD(Sparkの分散データセット)や外部ソースに保存されたデータのクエリ処理を効率化します。また、RDD をリレーショナルテーブルと同様に処理することが可能です。このような優れた抽象化の統合により、開発者は複雑な分析で外部データをクエリする SQL コマンドを、容易に、単一のアプリケーション内に混在させることができます。具体的には、Spark SQL で開発者は次のことができるようになります。
- Parquet ファイルや Hive テーブルからのリレーショナルデータのインポート
- インポートされたデータと既存の RDD に対する SQL クエリの実行
- Hive テーブルや Parquet ファイルへの容易な RDD の書き出し
Spark SQL には、コストベースのオプティマイザやカラムナストレージ、コード生成機能などがあり、クエリを高速化します。また、Spark SQL は、Sparkエンジンを使用して、数千のノードと数時間のクエリにスケーリングします。これにより、クエリ実行中の耐障害性は優れ、履歴データに異なるエンジンを使用する必要はありません。