将数据从databricks加载到azuresql时的性能问题

ugmeyewa  于 2021-07-13  发布在  Spark
关注(0)|答案(1)|浏览(411)

我正在尝试使用微软最近发布的支持pythonapi和spark3.0的连接器将databricks中的delta表中的100万条记录加载到azuresql数据库。
在我看来,表演并不是很出色。加载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)

我能做些什么来提高表现吗?

inkz8wg9

inkz8wg91#

重新划分Dataframe。之前,我在源Dataframe上有一个分区,重新分区为8有助于提高性能。

相关问题