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
Creating a new Spark Session
Spark context Web UI available at http://10.0.0.1:4041
Spark Context available as 'sc' (master = dse://?, app id = app-20180406174903-0008).
Spark Session available as 'spark'.
Spark SqlContext (Deprecated use Spark Session instead) available as 'sqlContext'
Welcome to
      ____              __
     / __/__  ___ _____/ /__
    _\ \/ _ \/ _ `/ __/  '_/
   /___/ .__/\_,_/_/ /_/\_\   version 2.2.0.14
      /_/

Using Scala version 2.11.8 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_151)
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オブジェクトを使用します。