自动将jar包含到PySpark类路径中

ksi*_*ndi 12 ipython ipython-notebook apache-spark pyspark

我正在尝试自动将jar包含到我的PySpark类路径中.现在我可以输入以下命令,它可以工作:

$ pyspark --jars /path/to/my.jar
Run Code Online (Sandbox Code Playgroud)

我想默认包含那个jar,这样我只能输入pyspark并在IPython Notebook中使用它.

我已经读过,我可以通过在env中设置PYSPARK_SUBMIT_ARGS来包含参数:

export PYSPARK_SUBMIT_ARGS="--jars /path/to/my.jar"
Run Code Online (Sandbox Code Playgroud)

不幸的是,上述方法无效.我收到运行时错误Failed to load class for data source.

运行Spark 1.3.1.

编辑

使用IPython Notebook时我的解决方法如下:

$ IPYTHON_OPTS="notebook" pyspark --jars /path/to/my.jar
Run Code Online (Sandbox Code Playgroud)

die*_*crf 15

您可以在spark-defaults.conf文件中添加jar文件(位于spark安装的conf文件夹中).如果jar列表中有多个条目,请使用:as separator.

spark.driver.extraClassPath /path/to/my.jar
Run Code Online (Sandbox Code Playgroud)

此属性记录在https://spark.apache.org/docs/1.3.1/configuration.html#runtime-environment中

  • 我收到一个错误:`Py4JJavaError:调用o28.load时发生错误.:java.sql.SQLException:java.sql.DriverManager.getDriver(DriverManager.java:315)没有合适的驱动程序 (4认同)

pau*_*chf 9

据我所知,你必须将jar导入驱动程序执行程序.因此,您需要编辑conf/spark-defaults.conf以下两行.

spark.driver.extraClassPath /path/to/my.jar
spark.executor.extraClassPath /path/to/my.jar
Run Code Online (Sandbox Code Playgroud)

当我经历这个时,我不需要任何其他参数.我猜你也不需要它们.