/ / क्या डेटाफ्रेम को विभिन्न स्पार्क सत्रों से एक्सेस किया जा सकता है? - अपाचे-स्पार्क, अपाचे-स्पार्क-एसक्यूएल, स्पार्क-डाटाफ्रेम

क्या डेटाफ्रेम को विभिन्न स्पार्क सत्रों से एक्सेस किया जा सकता है? - अपाचे-स्पार्क, अपाचे-स्पार्क-एसक्यूएल, स्पार्क-डाटाफ्रेम

क्या मैं एक तक पहुंच सकता हूं DataFrame विभिन्न से SparkSessionरों?

उत्तर:

जवाब के लिए 2 № 1

tl; डॉ नहीं, डेटाफ्रेम को साझा करना संभव नहीं है SparkSessions.

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 {

आप तक पहुंच सकते हैं SparkSessionDataFrame उपयोग करने के लिए आता है 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

जवाब के लिए 0 № 2

आप हमेशा उस डेटाफ्रेम को लिख सकते हैं जिसे आप फिर से उपयोग करना चाहते हैं, फिर अगली बार इसे पढ़ें।


उत्तर № 3 के लिए -1

उपयोग Global_temp_view और चूंकि यह सत्र-स्कोप्ड है, उस सत्र को समाप्त न करें जिसके साथ आपने डेटाफ्रेम बनाया है।