spark数据处理完后,如果结果需要输出到sql database,可以使用spark sql dataframe并引入微软的数据库jdbc驱动输出数据,具体步骤如下:
1:引入微软的jdbc jar包
在项目的pom文件加入下面的依赖:
<dependency> <groupId>com.microsoft.sqlserver</groupId> <artifactId>sqljdbc4</artifactId> <version>4.0</version> </dependency>
但很多情况下,依赖包无法正常下载,可以采用下面的方法先下载依赖包:
- 从微软官方网站手动下载jar包:http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=11774
- 使用maven install命令,将jar包安装到repository中:
mvn install:install-file -Dfile=sqljdbc4.jar -Dpackaging=jar -DgroupId=com.microsoft.sqlserver -DartifactId=sqljdbc4 -Dversion=4.0
安装成功后,项目中加上相应的依赖项后就可以正确编译工程了
2:在代码中通过jdbc驱动输出数据,sql 认证方式,使用spark sql dataframe
在pom文件中添加依赖项:
<dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-sql_2.11</artifactId> <version>${spark.version}</version> </dependency>
引入spark sql 包,写入数据到database:
import org.apache.spark.sql._
val url="jdbc:sqlserver://{dbserver}:1433;databaseName={dbname}" val table="{yourtablename}" val properties=new Properties() properties.setProperty("user","xxx") properties.setProperty("password","yyy") properties.setProperty("driver","com.microsoft.sqlserver.jdbc.SQLServerDriver") tableDF.write.mode(SaveMode.Overwrite).jdbc(url,table,properties)