先上资源:
链接:https://pan.baidu.com/s/1bsB4dx7bE7kjbeFQ2eToqA
提取码:21p0
上面的驱动推荐jdk1.8使用。如果是jdk1.8往前的,1.7或者其他的早版本,可以用更早点的驱动,如果需要,留言。
1. 网上找了很多神通数据库的驱动,都不可用。(其实在神通数据库安装目录下就有jdbc驱动)路径:shentong/jdbc/oscarJDBC16.jar。直接从服务器上面拉下来,本地maven打包一下。
mvn install:install-file -DgroupId=com.oscar -DartifactId=oscarJDBC16 -Dversion=1.0 -Dpackaging=jar -Dfile=D:\software\oscarJDBC16.jar
-Dfile:刚才从服务器上下载的jar包在硬盘上的位置
-DgroupId, -DartifactId, -Dversion:三个参数,指定存放maven仓库中的位置(与引入依赖时的属性相对应,自定义);
-Dpackaging :打包类型;
2. maven pom文件引入依赖:
<dependency>
<groupId>com.oscar</groupId>
<artifactId>oscarJDBC16</artifactId>
<version>1.0</version>
</dependency>
3.使用:(主要代码基于spark连接mysql改动)
//打印dataFrame当中的数据 val personDFShow: Unit = personDF.show() //将DataFrame注册成为一张表模型 val personView: Unit = personDF.createTempView("person_view") //获取表当中的数据 val result: DataFrame = sparkSession.sql("select * from person_view") sparkSession.sql("select count(1) as person_view_count from person_view").show() val url = "jdbc:oscar://192.168.000.000:2003/osrdb?useUnicode=true&characterEncoding=utf-8;useOldAliasMetadataBehavior=true" val tableName = "TEST.person" val properties = new Properties() properties.setProperty("driver","com.oscar.Driver") properties.setProperty("user", "root") properties.setProperty("password", "root") result.write.mode(SaveMode.Append).jdbc(url, tableName, properties) sparkContext.stop() sparkSession.close()