/ /異なるSparkSessionからDataFrameにアクセスできますか? - apache-spark、apache-spark-sql、spark-dataframe

異なるSparkSessionからDataFrameにアクセスできますか? - apache-spark、apache-spark-sql、spark-dataframe

私は DataFrame 異なるから SparkSession

回答:

回答№1は2

tl; dr いいえ、間にDataFrameを共有することはできません SparkSessions.

A DataFrame ひとりで生きる SparkSession (ちょうど RDD 以内 SparkContext)を定義します。所有者 SparkSession は、 DataFrame それはあなたの定義で見ることができます Dataset 型コンストラクタ

class Dataset[T] private[sql](
@transient val sparkSession: SparkSession,   // <-- here
@DeveloperApi @InterfaceStability.Unstable @transient val queryExecution: QueryExecution,
encoder: Encoder[T])
extends Serializable {

あなたは SparkSession a DataFrame に属している sparkSession 属性:

scala> val df = Seq(1,2,3).toDF("id")
df: org.apache.spark.sql.DataFrame = [id: int]

scala> df.sparkSession
res0: org.apache.spark.sql.SparkSession = org.apache.spark.sql.SparkSession@4832813d

scala> df.sparkSession == spark
res1: Boolean = true

回答№2の場合は0

再度使用したいデータフレームを書き留めて、次回に読むことができます。


回答№3の場合は-1

つかいます Global_temp_view セッションスコープであるため、DataFrameを作成したセッションを終了しないでください。