web-dev-qa-db-ja.com

jarをPySparkクラスパスに自動的に含める

私のPySparkクラスパスにjarを自動的に含めようとしています。今、私は次のコマンドを入力することができ、それは機能します:

$ pyspark --jars /path/to/my.jar

そのjarをデフォルトで含めて、pysparkと入力してIPython Notebookでも使用できるようにしたいと考えています。

EnvでPYSPARK_SUBMIT_ARGSを設定することで引数を含めることができることを読みました:

export PYSPARK_SUBMIT_ARGS="--jars /path/to/my.jar"

残念ながら、上記は機能しません。ランタイムエラーが発生しますFailed to load class for data source

実行中Spark 1.3.1。

編集

IPython Notebookを使用するときの私の回避策は次のとおりです。

$ IPYTHON_OPTS="notebook" pyspark --jars /path/to/my.jar
12
Kamil Sindi

spark-defaults.confファイルにjarファイルを追加できます(sparkインストール)jarリストに複数のエントリがある場合は、:を区切り文字として使用します。

spark.driver.extraClassPath /path/to/my.jar

このプロパティは https://spark.Apache.org/docs/1.3.1/configuration.html#runtime-environment に記載されています

15
diecrf

私の知る限り、jarを両方のドライバーにインポートする必要があります[〜#〜] and [〜#〜] executor。そのため、以下の両方の行を追加してconf/spark-defaults.confを編集する必要があります。

spark.driver.extraClassPath /path/to/my.jar
spark.executor.extraClassPath /path/to/my.jar

これを行ったとき、他のパラメータは必要ありませんでした。あなたもそれらを必要としないでしょう。

9
paulochf

Spark 2.0+はspark.driver.extraLibraryPathおよびspark.executor.extraLibraryPath

https://spark.Apache.org/docs/2.4.3/configuration.html#runtime-environment

ps。 spark.driver.extraClassPathおよびspark.executor.extraClassPathはまだ存在しますが、非推奨であり、Sparkの将来のリリースで削除されます。

0
Tagar