Comment ajouter des tiers java pots pour une utilisation dans pyspark
J'ai des tiers client de Base de données dans les bibliothèques Java. Je veux avoir accès à travers
java_gateway.py
E. g: faire de la classe client (pas un pilote jdbc!) à la disposition du client python via la passerelle java:
java_import(gateway.jvm, "org.mydatabase.MyDBClient")
Il n'est pas clair où ajouter le tiers des bibliothèques à la jvm classpath. J'ai essayé d'ajouter à compute-classpath.sh mais cela n'a pas semblent travail: - je obtenir
Py4jError: Trying to call a package
Aussi, si l'on compare à la Ruche: la ruche les fichiers jar ne sont PAS chargés par compute-classpath.sh de sorte que me rend suspect. Il semble y avoir un autre mécanisme qui se passe pour configurer la jvm côté classpath.
OriginalL'auteur javadba | 2014-12-30
Vous devez vous connecter pour publier un commentaire.
Vous pouvez ajouter des pots en tant qu'arguments à pyspark
Notez qu'il n'y a pas d'espaces après les virgules! Il échouera si vous mettez des espaces.
OriginalL'auteur Marl
Vous pouvez ajouter le chemin d'accès au fichier jar à l'aide de l'Étincelle de configuration au moment de l'Exécution.
Voici un exemple :
Reportez-vous à la document pour plus d'informations.
OriginalL'auteur AAB
Vous pouvez ajouter
--jars xxx.jar
lors de l'utilisation de bougies de soumettreou de définir la variable d'environnement
SPARK_CLASSPATH
your_spark_script.py
a été écrit par pyspark APIJ'ai de l'étincelle-1.6.1-bin-hadoop2.6 et --pots ne fonctionne pas pour moi. La deuxième option (réglage SPARK_CLASSPATH) fonctionne. Quelqu'un a une idée pourquoi la première option ne fonctionne pas?
OriginalL'auteur Ryan Chou
Par exemple: vous avez extrait le fichier jar dans le lecteur C dans le dossier nommé sparkts
sa valeur doit être: C:\sparkts
OriginalL'auteur Umang singhal
Une chose que vous pouvez faire est d'ajouter le Jar dans le pyspark jar dossier où pyspark est installé. Habituellement /python3.6/site-packages/pyspark/pots de
Être prudent si vous utilisez un environnement virtuel que le pot doit aller à la pyspark l'installation dans l'environnement virtuel.
De cette façon, vous pouvez utiliser le pot sans l'envoyer dans la ligne de commande ou de le charger dans votre code.
OriginalL'auteur Nab