适用于 SQL Server 和 Azure SQL 的 Apache Spark 连接器

Aru*_*n S 5 azure apache-spark azure-databricks

我尝试使用此连接器 - com.microsoft.azure:spark-mssql-connector_2.12_3.0:1.0.0 将数据从 Azure Databricks 写入 Azure SQL,但收到以下错误消息 -

作业因阶段失败而中止:阶段 1.0 中的任务 0 失败 4 次,最近一次失败:阶段 1.0 中丢失任务 0.3(TID 4、10.139.64.4、执行器 0):java.lang.NoClassDefFoundError:com/microsoft/sqlserver/ jdbc/ISQLServerBulkData

此 Spark 连接器是否可以与 Azure Databricks 一起使用到 Azure SQL?有人测试过这个吗?

Ale*_*Ott 1

由于某种原因,Microsoft 只发布了连接器本身的 jar,并且不包含连接器所需的 JDBC 驱动程序。如果您自己构建代码,构建系统会生成assembly工件,但可以使用它,但它不会发布。您可以通过显式添加 JDBC 驱动程序(坐标)来解决该问题com.microsoft.sqlserver:mssql-jdbc:8.4.1.jre8,如下所示(对于 Spark-submit/spark-shell/pyspark 等):

bin/spark-shell --packages \
  com.microsoft.azure:spark-mssql-connector_2.12_3.0:1.0.0-alpha,com.microsoft.sqlserver:mssql-jdbc:8.4.1.jre8
Run Code Online (Sandbox Code Playgroud)

或通过 UI 添加两个库