Sparkからデータベース・データにアクセスする

DataStax Enterpriseでは、SparkをDataStax Enterpriseデータベースと統合しています。そのため、Sparkからデータベース・テーブルのすべての機能を使用できます。

DataStax Enterpriseでは、SparkをDataStax Enterpriseデータベースと統合しています。そのため、Sparkからデータベース・テーブルのすべての機能を使用できます。

Sparkアプリケーションからデータベースにアクセスする

Sparkアプリケーションからデータベースにアクセスするには、Sparkの例「Sparkを使用したPortfolio Managerのデモ」の手順に従います。

Sparkシェルからデータベース・データにアクセスする

DataStax Enterpriseでは、データベースとSparkの統合を可能にするためにSpark Cassandra Connectorが使用されます。SparkシェルをDataStax Enterpriseで実行することにより、エンリッチ形式のSparkコンテキスト・オブジェクトにアクセスして、トランザクション・ノードに直接アクセスできるようになります。GitHubで、Spark Cassandra Connectorの「Javaドキュメント」を参照してください。

Sparkシェルからデータベース・データにアクセスするには、dse sparkコマンドを実行して、その後に表示されるセクションの手順に従います。

$ dse spark
Spark session available as 'spark'.
Welcome to
      ____              __
     / __/__  ___ _____/ /__
    _\ \/ _ \/ _ `/ __/  '_/
   /___/ .__/\_,_/_/ /_/\_\   version 2.0.0.1
      /_/

Using Scala version 2.11.8 (OpenJDK 64-Bit Server VM, Java 1.8.0_91)
Type in expressions to have them evaluated.
Type :help for more information.

scala>

Sparkシェルはsparkという名前のデフォルトのSparkセッションを作成します。これは、org.apache.spark.sql.SparkSessionのインスタンスです。

Sparkシェルは、デフォルトで、scorg.apache.spark.SparkContextのインスタンス)sqlContextorg.apache.spark.sql.hive.HiveContextのインスタンス)の2つのコンテキストを作成します。

注:
DSEの以前のバージョンでは、デフォルトのHiveContextインスタンスはhcという名前でした。アプリケーションでsqlContextではなくhcが使用されている場合、この変更を回避するには次の行を追加します。
val hc=sqlContext

以前のバージョンでは、cscという名前のCassandraSqlContextインスタンスも作成されました。DSE 5.0以降では、このインスタンスは作成されません。代わりに、sqlContextオブジェクトを使用します。