spark数据怎样输出到Sql Server


spark数据处理完后,如果结果需要输出到sql database,可以使用spark sql dataframe并引入微软的数据库jdbc驱动输出数据,具体步骤如下:

1:引入微软的jdbc jar包

在项目的pom文件加入下面的依赖:

    <dependency>
      <groupId>com.microsoft.sqlservergroupId>
      <artifactId>sqljdbc4artifactId>
      <version>4.0version>
    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文件中添加依赖项:

    
      org.apache.spark
      spark-sql_2.11
      ${spark.version}
    

引入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)