/ / Quelles lignes dois-je ajouter à spark-defaults.conf pour pouvoir utiliser phoenix de pyspark? - python, pyspark, hortonworks-data-platform, phoenix

Quelles lignes devrais-je ajouter à spark-defaults.conf pour pouvoir utiliser phoenix depuis pyspark? - python, pyspark, hortonworks-data-platform, phoenix

J'ai installé Phoenix-4.7 et cela fonctionne correctement avec hbase (j'ai copié les bocaux dans les dossiers hbase). Maintenant, je voudrais utiliser Phoenix avec pyspark et selon la documentation (voir ci-dessous), je dois ajouter 2 lignes à spark-defaults.conf:

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

Qu'est-ce que je devrais insérer pour pouvoir l'utiliser à partir d'étincelle?

J'utilise HDP2.6, Python 2.6 et spark 2.0

Le guide d'installation indique ce qui suit:

Configuration d'étincelle

Pour s’assurer que tous les Phoenix / HBase requisles dépendances de plate-forme sont disponible sur le chemin de classe pour les exécuteurs et les pilotes Spark, 'spark.executor.extraClassPath' et 'spark.driver.extraClassPath' dans spark-defaults.conf pour inclure le «phoenix - client.jar»

Notez que pour les versions de Phoenix 4.7 et 4.8 vous devez utiliser le "Phoenix - client-spark.jar". À partir de Phoenix 4.10, le «Phoenix - client.jar» est compilé avec Spark 2.x. Si Compability avec Spark 1.x si nécessaire, vous devez compiler Phoenix avec le profil spark16 maven.

message d'erreur que j'obtiens en essayant d'écrire dataframe sur phoenix:

java.lang.ClassNotFoundException: impossible de trouver la source de données: org.apache.phoenix.spark. Veuillez trouver les paquets sur spark.apache.org/third-party-projects.html

Réponses:

0 pour la réponse № 1

Je ne suis pas sûr si le problème a été résolu pourvous. C'est ce qui a fonctionné pour moi. paramétrer ce qui suit dans spark-defaults.conf dans mon répertoire conf sous spark directory. Dans mon cas, c’était phoneix 4.8.1 qui fonctionnait avec spark 1.6 et, par conséquent, des bibliothèques 4.8.1 ont été ajoutées au chemin. Vous devez ajouter votre version des bocaux Phoenix en conséquence.

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