2017-07-18 13 views
1

私はスカラバージョン2.12.1を実行しています。 IntelliJを使用して、sparkを使用してローカルのpostgresqlデータベースに接続し、sqlコマンドを実行してテーブルを操作するにはどうすればよいですか?私はバージョンの競合に関して多くの問題を抱えているので、依存関係を含めることも可能でしょうか?SparkとScalaを使用してローカルpostgresqlデータベースに接続

答えて

1

最新のスパーク(2.2.0)を使用することをおすすめします。 spark-core、spark-sql、postgresql jdbcドライバの依存関係が必要です。火花のために

これら二つの使用:この1つはおそらく問題ないでしょうPostgreSQLのドライバについて

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

を:

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() 

PostgreSQLの接続URLはhttps://jdbc.postgresql.org/documentation/80/connect.html

+0

を見るために明らかにあなたはそれがエラーを取得し、データベースを指定するURLを使用する必要があります。エラー:(11、24)オブジェクトの読み込みは、パッケージorg.apacheのメンバーではありません.spark val jdbcDF = spark.read – squad21

+0

コードスニペットの 'spark'はSparkSessionオブジェクトを参照し、readという名前のメソッドを持っています。 – oh54

関連する問題