将Scala连接到Azure DW转换为PySp

2024-04-18 15:04:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试更新ADW的一个表,但到目前为止,我找到的唯一方法是通过scala,我不太熟悉scala,我希望PySpark具有相同的功能。你知道吗

这是scala代码,但我在翻译它时遇到了麻烦

import java.util.Properties
import java.sql.DriverManager

val jdbcUsername = "xxxxx"
val jdbcPassword = "xxxxx"
val driverClass = "com.microsoft.sqlserver.jdbc.SQLServerDriver"

val jdbcUrl = s"xxxx"

val connectionProperties = new Properties()

connectionProperties.put("user", s"${jdbcUsername}")
connectionProperties.put("password", s"${jdbcPassword}")
connectionProperties.setProperty("Driver", driverClass)

val connection = DriverManager.getConnection(jdbcUrl, jdbcUsername, jdbcPassword)
val stmt = connection.createStatement()
val sql = "delete from table where condition"

stmt.execute(sql)
connection.close()

我认为一定有一种通用的方法可以使用PySpark在azuresql上执行命令,但我还没有找到它。你知道吗


Tags: 方法importsqlvalpropertiesjavaconnectionpyspark
1条回答
网友
1楼 · 发布于 2024-04-18 15:04:20

听起来您想直接在Python中对Azure Databricks的Azure SQL数据库表执行delete操作,但我尝试实现它失败,因为无法为pyodbcpymssql安装linux odbc驱动程序。你知道吗

下面是一些关于我测试的截图。你知道吗

图1。已在群集上成功安装pymssqlpypyodbc,但pyodbc失败

enter image description here

图2。在尝试连接我的Azure SQL数据库时遇到了缺少linux odbc驱动程序的问题

enter image description here

因此,除了使用由官方教程^{}引入的Scala/Java之外,使用Python的唯一变通方法是调用webhook url,该url从其他Azure服务实现该特性,例如Python中的Azure函数。你知道吗

相关问题 更多 >