spark.driver.extraClassPath 多个罐子
Posted
技术标签:
【中文标题】spark.driver.extraClassPath 多个罐子【英文标题】:spark.driver.extraClassPath Multiple Jars 【发布时间】:2016-03-31 19:12:30 【问题描述】:我正在尝试通过 Python 使用 Spark 在同一会话中访问(通过 JDBC)PostGres 数据库和 MSSQL 数据库。在 spark-defaults.conf 文件中,我可以让其中一个工作,但不能同时工作。
这两个独立工作:
spark.driver.extraClassPath /Users/myusername/spark-1.6.1-bin-hadoop2.4/lib/postgresql-9.4.1208.jre6.jar
spark.driver.extraClassPath /Users/myusername/spark-1.6.1-bin-hadoop2.4/lib/sqljdbc4.jar
我尝试了这三个,但都不起作用(我得到“没有合适的驱动程序”错误):
spark.driver.extraClassPath /Users/myusername/spark-1.6.1-bin-hadoop2.4/lib/
spark.driver.extraClassPath /Users/myusername/spark-1.6.1-bin-hadoop2.4/lib/postgresql-9.4.1208.jre6.jar sqljdbc4.jar
spark.driver.extraClassPath /Users/myusername/spark-1.6.1-bin-hadoop2.4/lib/postgresql-9.4.1208.jre6.jar /Users/myusername/spark-1.6.1-bin-hadoop2.4/lib/sqljdbc4.jar
提前致谢。
【问题讨论】:
【参考方案1】:如果您想使用多个 jar,则需要将它们链接在一起。如果您运行的是 Linux,则链运算符为 :
,在 Windows 上为 ;
。
例如,在 Linux 上,您的 extraClassPath
将是:
spark.driver.extraClassPath /Users/myusername/spark-1.6.1-bin-hadoop2.4/lib/postgresql-9.4.1208.jre6.jar:/Users/myusername/spark-1.6.1-bin-hadoop2.4/lib/sqljdbc4.jar
在 Windows 上:
spark.driver.extraClassPath /Users/myusername/spark-1.6.1-bin-hadoop2.4/lib/postgresql-9.4.1208.jre6.jar;/Users/myusername/spark-1.6.1-bin-hadoop2.4/lib/sqljdbc4.jar
【讨论】:
以上是关于spark.driver.extraClassPath 多个罐子的主要内容,如果未能解决你的问题,请参考以下文章