【问题标题】:Translate Scala connection to Azure DW to PySpark将 Scala 连接到 Azure DW 转换为 PySpark
【发布时间】:2019-03-26 21:50:52
【问题描述】:

我正在尝试更新 ADW 的表格,但到目前为止我发现的唯一途径是通过我不太熟悉的 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 在 Azure SQL 上执行命令,但我还没有找到。

【问题讨论】:

    标签: python azure pyspark databricks


    【解决方案1】:

    听起来您想直接在 Python 中为 Azure Databricks 对 Azure SQL 数据库的表执行删除操作,但我试图意识到它失败了,因为没有办法为pyodbc 和 @ 安装 linux odbc 驱动程序987654328@.

    以下是一些关于我的测试的屏幕截图。

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

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

    所以除了使用官方教程Use HDInsight Spark cluster to read and write data to Azure SQL database介绍的Scala/Java外,使用Python的唯一解决方法是调用一个webhook url来实现其他Azure服务的功能,例如Python中的Azure Function。

    【讨论】:

    • 谢谢彼得的回答,我认为你是对的,更好的解决方法是直接使用 Scala/Java;我能够设置驱动程序并安装 pyodbc [link] datathirst.net/blog/2018/10/12/…
    猜你喜欢
    • 1970-01-01
    • 2018-04-03
    • 1970-01-01
    • 2021-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多