从Azure Databricks笔记本访问SQL Server

时间:2019-11-13 11:50:30

标签: sql-server scala apache-spark databricks azure-databricks

我正在使用Azure Databricks笔记本并访问Azure平台上可用的SQL Server。
我正在将Spark数据帧添加到表'TableName'中。
下面是示例代码,用于将数据从Azure Databricks笔记本连接并保存到SQL Server DB中:

val jdbc_url = sql-db-connection-string
val user = sql-db-username
val password = sql-db-password
val connectionProperties = new Properties()
connectionProperties.put("user", user)
connectionProperties.put("password", password)  
MyDataFrame.coalesce(1).write.mode("append")jdbc(jdbc_url, "SchemaName.TableName", connectionProperties)

现在的问题是:-虽然我可以将数据插入表中,但是我不知道它在内部如何工作。
以下是Databricks发布的用于访问SQL Server等的文档。但是没有提及
1)它是如何建立连接的?
2)如何关闭连接?
3)如果它没有自动关闭,那么我应该写什么代码来关闭连接。 establish-connectivity-to-sql-server

请注意:我正在将Scala用于Spark框架。

1 个答案:

答案 0 :(得分:0)

1)通过JDBC建立连接。 Databricks中提供了用于Microsoft SQL Server或Azure SQL DB的JDBC驱动程序。我们可以使用

进行检查
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver")

2)输入/输出格式本身将负责关闭连接。这里的jdbc是格式,它负责关闭连接。有关代码级别的更多信息,请查看spark源代码。