簡體   English   中英

使用 sql-spark-connector (Apache) 從 Hadoop 導出數據

[英]Export Data from Hadoop using sql-spark-connector (Apache)

I am trying to export data from Hadoop to MS SQL using Apache Spark SQL Connector as instructed here sql-spark-connector which fails with exception java.lang.NoSuchMethodError: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.writeToServer (Lcom/microsoft/ sqlserver/jdbc/ISQLServerBulkRecord;)V

根據官方文檔Supported Versions

我的開發環境:
Hadoop 版本:2.7.0
火花版本:2.4.5
Scala 版本:2.11.12
MS SQL 版本:2016

我的代碼:

package com.company.test

import org.apache.spark.sql.SparkSession

object TestETL {   
  def main(args:Array[String]):Unit = {  
    val spark:SparkSession = SparkSession  
      .builder()  
      .getOrCreate()  
    import spark.implicits._  
  
//  create DataFrame  
    val export_df = Seq(1,2,3).toDF("id")  
    export_df.show(5)  
  
//  Connection String  
    val server_name = "jdbc:sqlserver://ip_address:port"  
    val database_name = "database"  
    val url = server_name + ";" + "databaseName=" + database_name + ";"  
    export_df.write  
      .format("com.microsoft.sqlserver.jdbc.spark")  
      .mode("append")  
      .option("url", url)  
      .option("dbtable", "export_test")  
      .option("user", "username")  
      .option("password", "password")  
      .save()  
  }  
}

我的 SBT
構建.sbt

我執行的命令行參數
/mapr/abc.company.com/user/dir/spark-2.4.5/bin/spark-submit --class com.company.test.TestETL /mapr/abc.company.com/user/dir/project/TestSparkSqlConnector .jar

JDBC 異常

我反編譯了 mssql-jdbc-8.2.0.jre8.jar 以檢查它是否缺少 SQLServerBulkCopy.writeToServer 方法實現,但事實並非如此。

關於如何解決這個問題的任何見解?

這是一個兼容性錯誤,請參考此鏈接,它將解釋錯誤或僅選擇兼容版本。 gitHub 鏈接

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM