这是我的代码:
uname = "xxxxx"
pword = "xxxxx"
dbUrl = "jdbc:postgresql:dbserver"
table = "xxxxx"
jdbcDF = spark.read.format("jdbc").option("url", dbUrl).option("dbtable",table).option("user", uname).option("password", pword).load()
我得到一个"没有合适的司机"添加postgres驱动程序jar后出错(%Addjar -f https://jdbc.postgresql.org/download/postgresql-9.4.1207.jre7.jar)。是否有一个在DSX上的pyspark 2.0中从postgres加载数据的工作示例?
答案 0 :(得分:1)
请使用pixiedust包管理器在spark服务级别安装postgres驱动程序。
http://datascience.ibm.com/docs/content/analyze-data/Package-Manager.html
由于Pixiedust仅支持spark 1.6,因此请运行
pixiedust.installPackage("https://jdbc.postgresql.org/download/postgresql-9.4.1207.jre7.jar")
安装完毕后,重启内核然后再重启 切换到spark 2.0以运行postgres连接以使用sparksession获取spark数据帧。
uname = "username"
pword = "xxxxxx"
dbUrl = "jdbc:postgresql://hostname:10635/compose?user="+uname+"&password="+pword
table = "tablename"
Df = spark.read.format('jdbc').options(url=dbUrl,database='compose',dbtable=table).load()
houseDf.take(1)
工作笔记本: -
谢谢, 查尔斯。
答案 1 :(得分:0)
只提供驱动程序选项
option("driver", "org.postgresql.Driver")