JavaのSpark SQLを使用したデータベース・データのクエリー

複数のテーブルにまたがって探索するJavaアプリケーションでSpark SQLクエリーを実行できます。Spark SQLを使用して、テーブル・データのクエリーを行うJavaアプリケーションでは、セッションのインスタンスが必要になります。

Spark SQLを使用してテーブル・データのクエリーを行うJavaアプリケーションでは、最初にorg.apache.spark.sql.SparkSessionのインスタンスが必要になります。

dse-spark-version.jarファイルのデフォルトの場所は、インストールのタイプによって異なります。

パッケージ・インストールInstaller-Servicesインストール

/usr/share/dse/dse-spark-version.jar

tarボール・インストールInstaller-No Servicesインストール

installation_location/lib/dse-spark-version.jar

Sparkセッション・オブジェクトを使用して、DataStax Enterpriseに接続します。

builder interfaceを使用して、Sparkセッション・インスタンスを作成します。

SparkSession spark = SparkSession
    .builder()
    .appName("My application name")
    .config("option name", "option value")
    .master("dse://1.1.1.1?connection.host=1.1.2.2,1.1.3.3")
    .getOrCreate();

Sparkセッション・インスタンスの作成後は、このインスタンスを使用してクエリーからDataFrameインスタンスを作成できます。クエリーは、SparkSession.sqlメソッドを呼び出すことによって実行されます。

DataFrame employees = spark.sql("SELECT * FROM company.employees");
employees.registerTempTable("employees");
DataFrame managers = spark.sql("SELECT name FROM employees WHERE role == 'Manager' ");

返されるDataFrameオブジェクトは、標準のSpark処理をサポートします。

employees.collect();