在我的应用程序中,我使用BasicDataSource()从外部JAR(引用文件路径)创建了临时JDBC连接。 我可以使用BasicDataSource()读取表。我将获得的ResultSet从Spark API - resultSetToRows()转换为具有特定架构的Dataframe。 但我无法使用相同的连接将数据帧作为新表写入MySQL。如果有人有任何建议,请分享!
var urls = Array(new URL("file:///E:/mysql-connector-java-5.1.42-bin.jar"));
var urlcl = new URLClassLoader(urls);
var claz:Class[_] = Class.forName("com.mysql.jdbc.Driver",true,urlcl);
var driv = claz.newInstance().asInstanceOf[Driver];
DriverManager.registerDriver(driv);
var datasource = new BasicDataSource();
datasource.setUsername("username");
datasource.setPassword("xxxxxxxxxx");
datasource.setDriverClassName("com.mysql.jdbc.Driver");
datasource.setDriverClassLoader(urlcl);
datasource.setUrl("jdbc:mysql://localhost:3306/world");
使用上面的连接datasource
我可以获取表值作为ResultSet并使用Spark将它们转换为数据帧。
如何使用上述连接将获取的数据帧作为新表写入MySQL?
提前致谢!