我正在尝试自动将jar包含到我的PySpark类路径中。现在我可以输入以下命令,它可以工作:
$ 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
答案 0 :(得分:14)
您可以在 spark-defaults.conf 文件中添加jar文件(位于spark安装的conf文件夹中)。如果罐子列表中有多个条目,请使用:as separator。
spark.driver.extraClassPath /path/to/my.jar
此属性记录在https://spark.apache.org/docs/1.3.1/configuration.html#runtime-environment
中答案 1 :(得分:9)
据我所知,您必须将jar导入驱动程序 AND 执行程序。因此,您需要修改conf/spark-defaults.conf
以下两行。
spark.driver.extraClassPath /path/to/my.jar
spark.executor.extraClassPath /path/to/my.jar
当我经历这个时,我不需要任何其他参数。我想你也不需要它们。
答案 2 :(得分:0)
自使用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版本中删除。