0

这里是我的代码:如何从IBM的Data Science Experience的pyspark访问postgres表?

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加载数据的工作示例?

回答

1

请使用滤镜PixieDust软件包管理器安装在火花服务水平的Postgres驱动程序。

http://datascience.ibm.com/docs/content/analyze-data/Package-Manager.html

由于滤镜PixieDust只支持火花1.6,运行

pixiedust.installPackage("https://jdbc.postgresql.org/download/postgresql-9.4.1207.jre7.jar")

一旦你安装了这个,重启内核,然后 切换到火花2.0运行你的Postgres连接来获取火花数据帧使用sparksession。

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)

工作笔记本: -

https://apsportal.ibm.com/analytics/notebooks/8b220408-6fc7-48a9-8350-246fbbf10ac8/view?access_token=7297af80b2e4109087a78365e7df3205f6ed9d0840c0c46d2208bc00ed0b0274

感谢, 查尔斯。

+0

这工作!谢谢。 –

0

只需提供驱动程序选项

option("driver", "org.postgresql.Driver") 
+0

你有没有一个例子可以在Data Science Experience的笔记本上做到这一点? –

相关问题