私は DataFrame
異なるから SparkSession
?
回答:
回答№1は2tl; 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を作成したセッションを終了しないでください。