Sparkセッションの使用
Sparkセッション・オブジェクトは、Sparkアプリケーションのプライマリ・エントリー・ポイントで、データベース・テーブルでSQLクエリーを実行することができます。
Sparkセッションは、org.apache.spark.sql.SparkSessionのインスタンス内でカプセル化されます。セッション・オブジェクトには、Sparkマスター、Sparkアプリケーション、構成オプションに関する情報があります。
DSE Sparkシェルは、sparkという名前のSparkセッション・セッション・オブジェクトを自動的に構成して作成します。このオブジェクトを使用して、DataStax Enterpriseでデータベース・テーブルのクエリーを開始します。
spark.sql("SELECT * FROM keyspace.table_name")
注:
Spark 1.6以前では、個別のHiveContextとSQLContextオブジェクトがありました。Spark 2.0以降、SparkSessionは両方のオブジェクトをカプセル化します。
Sparkアプリケーションでは、他の基になるデータ・カタログを使用するために複数のセッションを使用できます。既存のSparkセッションを使用すると、newSessionメソッドを呼び出して、新しいセッションを作成できます。
val newSpark = spark.newSession()
Builder APIを使用したSparkセッションの構築
Builder APIを使用すると、Sparkセッションを手動で作成することができます。
import org.apache.spark.sql.SparkSession
val sparkSession = SparkSession.builder
.master("dse://localhost?")
.appName("my-spark-app")
.enableHiveSupport()
.config("spark.executor.logs.rolling.maxRetainedFiles", "3")
.config("spark.executor.logs.rolling.strategy", "size")
.config("spark.executor.logs.rolling.maxSize", "50000")
.getOrCreateSparkセッションの停止
stopメソッドを使用して、Sparkセッションを終了します。
spark.stop
構成オプションの取得と設定
spark.conf.getおよびspark.conf.setメソッドを使用して、セッションのSpark構成オプションを取得または設定します。
spark.conf.set("spark.executor.logs.rolling.maxRetainedFiles", "3")
spark.conf.get("spark.executor.logs.rolling.maxSize")
