0

Wenn Spark standardmäßig in der Befehlszeilenschnittstelle initialisiert wird, wird SparkContext als sc und SQLContext als sqlContext initialisiert.Initialisieren von HiveContext in Spark-CLI

Aber ich brauche HiveContext, da ich eine Funktion collect_list verwende, die nicht von SparkContext unterstützt wird, aber von HiveContext unterstützt wird. Da HiveContext eine Superklasse von SparkContext ist, hätte es funktionieren sollen, ist es aber nicht.

WIE INIZEIERE ich HiveContext in Scala mit Spark CLI?

Antwort

2

In Spark-Shell ist sqlContext standardmäßig eine Instanz von HiveContext. Sie können darüber in meiner vorherigen Antwort here lesen.

Trotzdem ist collect_list in Spark 1.5.2 nicht verfügbar. Es wurde in Spark 1.6 eingeführt, so dass es normal ist, dass Sie es finden können.

Referenz: https://github.com/apache/spark/blob/v1.6.2/sql/core/src/main/scala/org/apache/spark/sql/functions.scala#L213

Auch brauchen Sie nicht org.apache.spark.sql.functions._ in der Schale zu importieren. Es wird standardmäßig importiert.

0

Die SqlContext ist ein HiveContext

scala> sqlContext 
res11: org.apache.spark.sql.SQLContext = [email protected] 

[Bearbeiten]

Importieren Sie die Funktionen, bevor sie verwendet werden.

import org.apache.spark.sql.functions._ 
+0

'Fehler: nicht gefunden: Wert collect_list' Dies ist, was die Konsole sagt, nachdem ich ** collect_list ** Funktion –

+0

verwenden Sie korrekt importiert? importieren org.apache.spark.functions._ –

+0

scala> importieren org.apache.spark.functions._ : 31: Fehler: Objektfunktionen ist kein Mitglied des Pakets org.apache.spark import org.apache. spark.functions._ ^ '** WIE BEKANNTE ICH DIESES **? Bitte helfen Sie –