2017-05-05 3 views
3

Was ist der Unterschied zwischen sparkContext javaSparkContext SQLContext SparkSession? Gibt es eine Methode zum Konvertieren oder Erstellen von Kontext mit Sparksession? Kann ich den gesamten Kontext mit einem einzigen Eintrag SparkSession komplett ersetzen? Werden alle Funktionen in SQLContext, SparkContext, JavaSparkContext usw. in SparkSession hinzugefügt? Einige Funktionen wie "Parallelisieren" werden in SparkContext und JavaSparkContext unterschiedlich verwendet. Wie man eine solche Funktion in SparkSession verwendet? Wie erstelle ich folgendes mit SparkSession? 1. RDD 2. JavaRDD 3. JavaPairRDD 4. DatensatzUnterschied zwischen sparkContext JavaSparkContext SQLContext SparkSession?

Gibt es eine Methode JavaPairRDD in Datensatz oder Datensatz in JavaPairRDD zu verwandeln?

Antwort

7

sparkContext ist eine Scala-Implementierung Einstiegspunkt und JavaSparkContext ist ein Java-Wrapper von sparkContext.

SQLContext ist Eintrittspunkt SparkSQL, die von sparkContext .Vor 2.xx, RDD, Datenrahmen und Daten gesetzt wurden drei verschiedene Daten abstractions.Since Spark-2.xx, Alle drei Datenabstraktionen vereinigt sind, empfangen werden können und SparkSession ist der einheitliche Einstiegspunkt von Spark.

Eine weitere Anmerkung ist, RDD für unstrukturierte Daten, stark typisierte Daten und DataFrames sind für strukturierte und lose typisierte Daten. Sie können check

Gibt es eine Methode zum Konvertieren oder Erstellen von Kontext mit Sparksession?

ja. seine sparkSession.sparkContext() und für SQL, sparkSession.sqlContext()

Kann ich den gesamten Kontext mit einem einzigen Eintrag SparkSession vollständig ersetzen?

ja. Sie können entsprechende contexs von sparkSession erhalten.

Sind alle Funktionen in SQLContext, SparkContext, JavaSparkContext usw. in SparkSession hinzugefügt?

Nicht direkt. Sie müssen den entsprechenden Kontext bekommen und davon Gebrauch machen. etwas wie Rückwärtskompaktität

Wie man solche Funktion in SparkSession verwendet?

bekommen jeweiligen Kontext und nutzen Sie es aus.

Wie erstellt man mit SparkSession?

  1. RDD aus sparkSession.sparkContext.parallelize(???)
  2. JavaRDD erstellt werden gleiche mit dies gilt aber in Java implementtaion
  3. JavaPairRDD sparkSession.sparkContext.parallelize(???).map(//making your data as key-value pair here is one way)
  4. Dataset was sparkSession kehrt Datensatz ist, wenn es Daten strukturiert ist.
2

Erklärung von Funken Quellcode unter Zweig-2,1

SparkContext: Haupteinstiegspunkt für Spark-Funktionalität. Ein SparkContext stellt die Verbindung zu einem Spark -Cluster dar und kann zum Erstellen von RDDs, Akkumulatoren und Broadcast-Variablen in diesem Cluster verwendet werden.

Nur ein SparkContext kann pro JVM aktiv sein. Sie müssen stop() den aktiven SparkContext vor einen neuen erstellen. Diese Einschränkung kann eventuell beseitigt werden; siehe SPARK-2243 für weitere Details.

JavaSparkContext: Eine Java-freundliche Version von [[org.apache.spark.SparkContext]], die [[org.apache.spark.api.java.JavaRDD]] s zurück und arbeitet mit Java Sammlungen anstelle von Scala.

Nur ein SparkContext kann pro JVM aktiv sein. Sie müssen stop() den aktiven SparkContext vor einen neuen erstellen. Diese Einschränkung kann eventuell beseitigt werden; siehe SPARK-2243 für weitere Details.

SQLContext: Der Einstiegspunkt für das Arbeiten mit strukturierten Daten (Zeilen und Spalten) in Spark 1.x.

Ab Spark 2.0 wird dies durch [[SparkSession]] ersetzt. Wir halten jedoch die Klasse hier aus Gründen der Abwärtskompatibilität.

SparkSession: Der Einstiegspunkt in der Programmierung Funken mit der Datenmenge und Datenrahmen API.

Verwandte Themen