这是我的代码:
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 加载数据的工作示例?
请使用 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)
工作笔记本:-
https://apsportal.ibm.com/analytics/notebooks/8b220408-6fc7-48a9-8350-246fbbf10ac8/view?access_token=7297af80b2e4109087a78365e7df3205f6ed9d0840c0c46d2208bc00ed0b0274
谢谢查尔斯。
只需提供驱动程序选项
option("driver", "org.postgresql.Driver")