2017-07-18 79 views

回答

1

我建議你使用最新的火花,即2.2.0。對於你想做的事情,你需要spark-core,spark-sql和postgresql jdbc驅動依賴。

火花使用這兩個:

https://mvnrepository.com/artifact/org.apache.spark/spark-core_2.11/2.2.0 https://mvnrepository.com/artifact/org.apache.spark/spark-sql_2.11/2.2.0

對於PostgreSQL驅動這一塊可能會做得很好:

https://mvnrepository.com/artifact/org.postgresql/postgresql/9.4.1212

星火可以連接到通過JDBC的關係型數據庫,有在這個節火花文檔:https://spark.apache.org/docs/latest/sql-programming-guide.html#jdbc-to-other-databases

來自同一文檔:

// Loading data from a JDBC source 
val jdbcDF = spark.read 
    .format("jdbc") 
    .option("url", "jdbc:postgresql:dbserver") 
    .option("dbtable", "schema.tablename") 
    .option("user", "username") 
    .option("password", "password") 
    .load() 

很明顯,你將需要使用指定你的數據庫的URL,PostgreSQL的連接網址看到https://jdbc.postgresql.org/documentation/80/connect.html

+0

它得到的錯誤:錯誤:(11,24)對象讀不包org.apache成員.spark val jdbcDF = spark.read – squad21

+0

代碼片段中的'spark'引用SparkSession對象,它有一個名爲read的方法。 – oh54