Ich benutze HiveContext mit SparkSQL und versuche, mich mit einem entfernten Hive-Metastor zu verbinden. Die einzige Möglichkeit, den Hive-Metastore zu setzen, besteht darin, die hive-site.xml in den Klassenpfad einzubinden (oder in / etc zu kopieren) /funken / conf /).
Gibt es eine Möglichkeit, diesen Parameter programmatisch in einem Java-Code zu setzen, ohne die hive-site.xml einzuschließen? Wenn ja, wie lautet die Spark-Konfiguration?
Ich hatte auch dasselbe Problem, aber gelöst. Folgen Sie einfach diesen Schritten in Spark 2.0 Version
Schritt 1: Kopieren Sie die Datei hive-site.xml aus dem Ordner "Hive conf" in Spark conf.
Schritt 2: Bearbeiten Sie die Datei spark-env.sh und konfigurieren Sie Ihren mysql-Treiber. (Wenn Sie Mysql als Bienenstock-Metastore verwenden.)
Oder fügen Sie MySQL-Treiber zu Maven / SBT hinzu (wenn Sie diese verwenden)
Schritt3: Wenn Sie eine Spark-Sitzung erstellen, fügen Sie enableHiveSupport () hinzu
val spark = SparkSession.builder.master ("lokal"). appName ("Testen") .enableHiveSupport () .getOrCreate ()
Beispielcode:
%Vor%Ausgabe:
Tags und Links hadoop apache-spark hive apache-spark-sql