将数据从 Databricks 加载到 Azure 时出现性能问题 SQL

Performance issues in loading data from Databricks to Azure SQL

我正在尝试使用 Microsoft 最近发布的 connector 支持 Python [=25] 从 Databricks 中的 Delta table 将 100 万条记录加载到 Azure SQL 数据库=] 和 Spark 3.0.

性能对我来说并不是真的很棒。加载 100 万条记录需要 19 分钟。下面是我正在使用的代码。你认为我在这里遗漏了什么吗?

配置: 8 个具有 28GB 内存和 8 个内核的工作节点。 Azure SQL 数据库是一个 4 vcore Gen5 .

try:
  df.write \
    .format("com.microsoft.sqlserver.jdbc.spark") \
    .mode("overwrite") \
    .option("url", url) \
    .option("dbtable", "lending_club_acc_loans") \
    .option("user", username) \
    .option("password", password) \
    .option("tableLock", "true") \
    .option("batchsize", "200000") \
    .option("reliabilityLevel", "BEST_EFFORT") \
    .save()
except ValueError as error :
    print("Connector write failed", error)

我可以做些什么来提高性能吗?

重新分区数据框。早些时候我在源数据帧上有一个分区,重新分区到 8 有助于提高性能。