/ / Welche Zeilen sollte ich zu Spark-defaults.conf hinzufügen, um Phoenix von pyspark verwenden zu können? - python, pyspark, hortonworks-datenplattform, phoenix

Welche Zeilen sollte ich zu Spark-defaults.conf hinzufügen, um Phoenix von pyspark verwenden zu können? - python, pyspark, hortonworks-datenplattform, phoenix

Ich habe Phoenix-4 installiert.7 und es funktioniert ordnungsgemäß mit HBase (ich habe die Gläser in die HBase-Ordner kopiert). Jetzt möchte ich Phoenix mit pyspark verwenden und gemäß der Dokumentation (siehe unten) muss ich 2 Zeilen zu spark-defaults.conf hinzufügen:

  • spark.executor.extraClassPath
  • spark.driver.extraClassPath

Was genau sollte ich einfügen, um es von Funken zu verwenden?

Ich benutze HDP2.6 und Python 2.6 und funken 2.0

Installationsanleitung sagt folgendes:

Funken-Setup

Um sicherzustellen, dass alle erforderlichen Phoenix / HBasePlattformabhängigkeiten sind verfügbar auf dem Klassenpfad für die Spark-Executoren und -Treiber, legen Sie fest Sowohl "spark.executor.extraClassPath" als auch "spark.driver.extraClassPath" in der spark-defaults.conf um die 'phoenix - client.jar' einzubinden

Beachten Sie, dass für Phoenix-Versionen 4.7 und 4.8 müssen Sie die verwenden "Phoenix - Client-Spark.jar". Ab Phoenix 4.10 'Phoenix - client.jar' ist gegen Spark 2.x kompiliert. Ob Kompatibilität mit Spark 1.x bei Bedarf, müssen Sie Phoenix mit kompilieren das funke16 maven Profil.

Fehlermeldung, die ich bekomme, wenn ich versuche, Dataframe zu Phoenix zu schreiben:

java.lang.ClassNotFoundException: Die Datenquelle konnte nicht gefunden werden: org.apache.phoenix.spark. Pakete finden Sie unter spark.apache.org/third-party-projects.html

Antworten:

0 für die Antwort № 1

Ich bin mir nicht sicher, ob das Problem gelöst wurdeSie. Das hat bei mir funktioniert. setze folgendes in der spark-defaults.conf in meinem conf-Verzeichnis unter dem spark-Verzeichnis. In meinem Fall war es phoneix 4.8.1, das mit funke 1.6 arbeitet und daher wurden 4.8.1 Bibliotheken zum Pfad hinzugefügt. Sie müssten Ihre Version von Phoenix-Gläsern entsprechend hinzufügen.

spark.executor.extraClassPath=/usr/local/apache-phoenix/phoenix-4.8.1-HBase-1.2-client.jar:/usr/local/apache-phoenix/phoenix-spark-4.8.1-HBase-1.2.jar
spark.driver.extraClassPath=/usr/local/apache-phoenix/phoenix-4.8.1-HBase-1.2-client.jar:/usr/local/apache-phoenix/phoenix-spark-4.8.1-HBase-1.2.jar