我正在尝试使用微软最近发布的支持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)
我能做些什么来提高表现吗?
1条答案
按热度按时间inkz8wg91#
重新划分Dataframe。之前,我在源Dataframe上有一个分区,重新分区为8有助于提高性能。