Spark SQLを使用したデータのクエリー

Spark SQLでは、SQL言語のバリエーションを使用してSparkクエリーを実行できます。Spark SQLには、Scala向けAPIとJava向けAPIが含まれます。

Cassandraクラスターに格納されているデータをクエリーし、Sparkを使用してクエリーを実行するには、Spark SQLを使用します。通常、Spark SQLでのクエリーの実行はHiveよりも高速です。

Spark SQLの基礎

DataStax Enterpriseでは、Cassandraクラスターに格納され、Sparkを使用して実行されるデータに対して、Spark SQLを使用したリレーショナル・クエリーを実行できます。Spark SQLは、複数のSpark Resilient Distributed Datasets(RDD)にまたがって問い合わせを行うための統一リレーショナル・クエリー言語であり、リレーショナル・データベースで使用されるSQL言語のバリエーションをサポートします。Spark SQLは、RDDに対してHive QLクエリーを実行する機能を含んでおり、SharkおよびHiveに取って代わるクエリー言語として設計されています。従来型SparkアプリケーションをSpark SQLクエリーと組み合わせて使用すると、大規模なデータ・セットを分析することができます。

SqlContextクラスとそのサブクラスは、リレーショナル・クエリーをSparkで実行するためのエントリー・ポイントです。SqlContextインスタンスはSparkContextインスタンスから作成されます。CassandraSQLContextクラスはSqlContextのサブクラスであり、これらのクエリーをCassandraデータ・ソースに対して実行するために使用されます。

Spark SQLは、SchemaRDDと呼ばれる特殊なタイプのRDDを使用し、従来型リレーショナル・データベースのテーブルと似ています。SchemaRDDは、オブジェクト・データと、オブジェクトのデータ型を記述したスキーマで構成されます。SchemaRDDインスタンスは既存のSpark RDDから作成できます。SchemaRDDSqlContextに適用したら、それをテーブルとして登録し、SQLクエリーを実行できます。

Spark SQLシェルの起動

Spark SQLシェルを使用すると、Spark SQLクエリーを対話型式で実行できます。シェルを起動するには、dse spark-sqlを実行します。+

dse spark-sql

Spark SQLの詳細については、Sparkのドキュメントの移行に関する情報を参照してください。