我使用Spark 1.3.0 假設我在Spark中有一個數據框,我需要將它存儲到Postgres DB(postgresql-9.2.18-1-linux-x64)上64bit ubuntu機器。 我也用postgresql9.2jdbc41.jar作爲驅動程序連接到Postgres的如何寫火花數據框到Postgres數據庫
我能夠使用DB下面來讀取數據的Postgres命令
import org.postgresql.Driver
val url="jdbc:postgresql://localhost/postgres?user=user&password=pwd"
val driver = "org.postgresql.Driver"
val users = {
sqlContext.load("jdbc", Map(
"url" -> url,
"driver" -> driver,
"dbtable" -> "cdimemployee",
"partitionColumn" -> "intempdimkey",
"lowerBound" -> "0",
"upperBound" -> "500",
"numPartitions" -> "50"
))
}
val get_all_emp = users.select("*")
val empDF = get_all_emp.toDF
get_all_emp.foreach(println)
我想寫這個DF回後的Postgres一些處理。 下面的代碼是否正確?
empDF.write.jdbc("jdbc:postgresql://localhost/postgres", "test", Map("user" -> "user", "password" -> "pwd"))
任何指針(scala)都會有幫助。
您是否至少測試了您的代碼以詢問是否正確? – eliasah
您好@eliasah 我得到的錯誤是低於 錯誤:值寫入不是org.apache.spark.sql.DataFrame的成員 –
是否是spark 1.3的約束?你不能更新到1.6.2嗎? – eliasah