2016-04-09 30 views
3

EMR spark-shell --packages org.postgresql:postgresql:9.4-1206-jdbc42にsshした後、spark-shellを実行するとpostgresqlドライバパッケージをインストールしました。その後、org.postgresqlをインポートします。私はspark Dataframeオブジェクトを作成したいので、s3インスタンスからテーブルにアクセスしようとします。AWS EMRインスタンスでspark経由でJDBCドライバにアクセスできない

sqlContext.load("jdbc", Map("url" -> "jdbc:postgresql://pathto.table.region.rds.amazonaws.com:5432/table?user=username&password=password","dbtable" -> "table"))

これは私にjava.sql.SQLException: No suitable driverエラーになります。

私はthisの質問を同様の問題で調べました。しかし、私はスパークシェルを介してドライバを実行できるようにしたい。

答えて

2

私が間違っていない場合は、(申し訳ありませんが、私は今それをテストするコンピュータを持っていません)オプションマップの中にドライバクラスを明示的に設定する必要があります。

sqlContext.load("jdbc", 
     Map("driver" -> "org.postgresql.Driver", 
      "url" -> "jdbc:postgresql://pathto.table.region.rds.amazonaws.com:5432/table?user=username&password=password", 
      "dbtable" -> "table")) 

PS:私の電話でこの回答を書いていますが、最終的な入力ミスを許してください。しかし、私はあなたがその考えを得ると思う。

+0

はいおかげで、私はそれを試してみましたが、何かがJDBC java.lang.UnsupportedClassVersionErrorの私のバージョンが間違っているように見えます:ORG/postgresqlの/ドライバ:サポートされていないメジャー。マイナーバージョン52.0 –

+0

[OK]を別の問題です。あなたの依存関係、スパーク、emrにインストールされているもの – eliasah

関連する問題