BAR*_*BAR 5 jdbc apache-spark google-cloud-platform apache-spark-sql google-cloud-dataproc
我试图通过JDBC写:
df.write.jdbc("jdbc:postgresql://123.123.123.123:5432/myDatabase", "myTable", props)
Run Code Online (Sandbox Code Playgroud)
在星火文档解释了配置选项spark.driver.extraClassPath不能被用来添加JDBC驱动程序的JAR文件,如果在客户端模式下运行(这是Dataproc运行在模式),因为JVM已经启动.
我尝试在Dataproc的submit命令中添加JAR路径:
gcloud beta dataproc jobs submit spark ...
--jars file:///home/bryan/org.postgresql.postgresql-9.4-1203-jdbc41.jar
Run Code Online (Sandbox Code Playgroud)
我还添加了加载驱动程序的命令:
Class.forName("org.postgresql.Driver")
Run Code Online (Sandbox Code Playgroud)
但我仍然得到错误:
java.sql.SQLException: No suitable driver found for jdbc:postgresql://123.123.123.123:5432/myDatabase
Run Code Online (Sandbox Code Playgroud)
根据我的经验,添加driver属性通常可以解决问题:
props.put("driver", "org.postgresql.Driver")
db.write.jdbc(url, table, props)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1237 次 |
| 最近记录: |