小编Aja*_*mar的帖子

如何在 pyspark 中使用 azure-sqldb-spark 连接器

我想每天使用 PySpark 将大约 10 GB 的数据写入 Azure SQL 服务器数据库。目前使用 JDBC 驱动程序,这需要几个小时一个一个地插入语句。

我打算使用 azure-sqldb-spark 连接器,它声称使用批量插入来增强写入。

我浏览了官方文档:https : //github.com/Azure/azure-sqldb-spark。该库是用 Scala 编写的,基本上需要使用 2 个 Scala 类:

import com.microsoft.azure.sqldb.spark.config.Config
import com.microsoft.azure.sqldb.spark.connect._

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

df.bulkCopyToSqlDB(bulkCopyConfig)
Run Code Online (Sandbox Code Playgroud)

可以像这样在pyspark中使用吗(使用sc._jvm):

Config = sc._jvm.com.microsoft.azure.sqldb.spark.config.Config
connect= sc._jvm.com.microsoft.azure.sqldb.spark.connect._

//all config

df.connect.bulkCopyToSqlDB(bulkCopyConfig)
Run Code Online (Sandbox Code Playgroud)

我不是 Python 专家。任何人都可以用完整的代码段帮助我完成这项工作。

azure apache-spark pyspark spark-jdbc

7
推荐指数
1
解决办法
4077
查看次数

标签 统计

apache-spark ×1

azure ×1

pyspark ×1

spark-jdbc ×1