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)