gpt4 book ai didi

sql-server - 在 Azure Databricks 中使用 Python 将 DF 写入 SQL Server

转载 作者:行者123 更新时间:2023-12-03 22:02:15 25 4
gpt4 key购买 nike

我们刚刚从 Scala 切换到 Python。我有一个需要推送到 SQL Server 的数据框。我之前多次使用下面的 Scala 代码执行此操作。

var bulkCopyMetadata = new BulkCopyMetadata
bulkCopyMetadata.addColumnMetadata(1, "Title", java.sql.Types.NVARCHAR, 128, 0)
bulkCopyMetadata.addColumnMetadata(2, "FirstName", java.sql.Types.NVARCHAR, 50, 0)
bulkCopyMetadata.addColumnMetadata(3, "LastName", java.sql.Types.NVARCHAR, 50, 0)

val bulkCopyConfig = Config(Map(
"url" -> "mysqlserver.database.windows.net",
"databaseName" -> "MyDatabase",
"user" -> "username",
"password" -> "*********",
"dbTable" -> "dbo.Clients",
"bulkCopyBatchSize" -> "2500",
"bulkCopyTableLock" -> "true",
"bulkCopyTimeout" -> "600"
))

df.bulkCopyToSqlDB(bulkCopyConfig, bulkCopyMetadata)

这是记录在这里。

https://docs.microsoft.com/en-us/azure/sql-database/sql-database-spark-connector

我正在寻找一个等效的 Python 脚本来完成同样的工作。我搜索了相同的内容,但没有找到任何内容。这里有人可以胜任这项工作吗?谢谢。

最佳答案

请尝试引用 PySpark 官方文档 JDBC To Other Databases 通过 MS SQL Server 的 jdbc 驱动程序直接将 PySpark 数据帧写入 SQL Server。

这是示例代码。

spark_jdbcDF.write
.format("jdbc")
.option("url", "jdbc:sqlserver://yourserver.database.windows.net:1433")
.option("dbtable", "<your table name>")
.option("user", "username")
.option("password", "password")
.save()

或者
jdbcUrl = "jdbc:mysql://{0}:{1}/{2}".format(jdbcHostname, jdbcPort, jdbcDatabase)
connectionProperties = {
"user" : jdbcUsername,
"password" : jdbcPassword,
"driver" : "com.mysql.jdbc.Driver"
}
spark_jdbcDF.write \
.jdbc(url=jdbcUrl, table="<your table anem>",
properties=connectionProperties ).save()

希望能帮助到你。

关于sql-server - 在 Azure Databricks 中使用 Python 将 DF 写入 SQL Server,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59002048/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com