新しいDataFrameWriter
を使用してJDBCデータベースにデータを書き戻す方法を理解しようとしています。ソースコードを見ると可能であるように思えますが、私はこれについてのドキュメントを見つけることはできません。変換されたDataFrameをJDBC/MySQLに保存/エクスポートする
私はこのようなルックスをしようとしているかの簡単な例:
sqlContext.read.format("jdbc").options(Map(
"url" -> "jdbc:mysql://localhost/foo", "dbtable" -> "foo.bar")
).select("some_column", "another_column")
.write.format("jdbc").options(Map(
"url" -> "jdbc:mysql://localhost/foo", "dbtable" -> "foo.bar2")
).save("foo.bar2")
これは動作しません - 私は、このエラーで終わる:
java.lang.RuntimeException: org.apache.spark.sql.execution.datasources.jdbc.DefaultSource does not allow create table as select.
at scala.sys.package$.error(package.scala:27)
at org.apache.spark.sql.execution.datasources.ResolvedDataSource$.apply(ResolvedDataSource.scala:200)
は、私がもしわかりません私は間違ったことをしています(なぜ、それはJDBCRDDの代わりにDefaultSourceに解決されますか?)、あるいは既存のMySQLデータベースへの書き込みがSparkのDataFrames APIを使ってできない場合です。
これは問題の原因ではありませんが、あなたの例では 'load'呼び出しがありません。 – zero323