我在lubuntu 16.04上使用带有spark 2.2.0的pyspark,我想将一个Dataframe写入我的Postgresql数据库。现在据我所知,我必须在spark master上安装一个jdbc驱动程序。我从他们的网站下载了postgresql jdbc驱动程序,并尝试关注this post。我将spark.jars.packages /path/to/driver/postgresql-42.2.1.jar
添加到spark-default.conf
,唯一的结果是pyspark不再启动。
我有点迷失在java的土地上我不知道这是不是正确的格式。文档告诉我应该添加一个列表,但我不知道路径列表应该是什么样子。然后我不知道是否还必须指定spark.jars
和/ spark.driver.extraClassPath
或spark.jars.packages
是否足够?如果我必须添加它们是什么样的格式?
答案 0 :(得分:2)
spark.jars.packages
用于可以从Maven中提取的依赖项(对于Java来说它被认为是pip
,尽管这个类比可能有点松散)。
您可以使用选项--jars /path/to/driver/postgresql-42.2.1.jar
提交作业,以便提交也将提供库,集群管理器将代表您在所有工作节点上分发。
如果要将其设置为配置,可以使用spark.jars
键而不是spark.jars.packages
。后者需要Maven坐标,而不是路径(这可能是你的工作失败的原因)。
您可以阅读我在the official documentation上介绍的配置键的更多信息。