取消
顯示的結果
而不是尋找
你的意思是:

批量插入AZ SQL Azure Databrick SQL

AvijitDey
新的貢獻者三世

Env: Azure Databrick:

版本:9.1 LTS(包括Apache火花3.1.2,Scala 2.12)

工作類型:56 GB內存2 - 8節點(標準D13_V2)

沒有行:2470350和115列

大小:2.2 GB

時間約。9分鍾

Python代碼。

  1. 批量加載的最佳方法是什麼呢?
  2. 你認為什麼是最好的分區大小?
  3. 最優批量大小?

df_gl_repartitioned = f5.repartition (10)

write_data_to_db (df_gl_repartitioned,“myserver.database.windows.net”、“XXXX.onmicrosoft.com”、“DBNAME”、“dbo。dbutils鹿”,“1004857”、“覆蓋”)

試一試:df.write.format (com.microsoft.sqlserver.jdbc.spark) .mode(模式)。f選項(“url”, " jdbc::狀態"置疑" / /{服務器}”)。選項(“數據庫名、數據庫)。選項(“數據表”數據表)。選項(“accessToken”, access_token)。選項(“加密”,“真正的”)。選項(“hostNameInCertificate”, .database.windows.net“*”) .option (“schemaCheckEnabled”,“假”).save()打印(f“成功地寫了df{數據表}”)除了ValueError錯誤:打印(錯誤)

我檢查下麵的鏈接

https://techcommunity.microsoft.com/t5/azure-sql-blog/considerations-of-data-partitioning-on-spark-d..。

https://techcommunity.microsoft.com/t5/datacat/data-loading-performance-considerations-with-clustere..。

1接受解決方案

接受的解決方案

Hubert_Dudek1
尊敬的貢獻者三世

我將避免重新分配另外不必要的成本,和你通常已經有數據分區。(檢查df.rdd.getNumParitions ())。

2.2 GB不是很廣泛,所以我將會用一個基本的機器,一個司機,1到2之間的自動伸縮的工人。

在原帖子查看解決方案

3回複3

Hubert_Dudek1
尊敬的貢獻者三世

我將避免重新分配另外不必要的成本,和你通常已經有數據分區。(檢查df.rdd.getNumParitions ())。

2.2 GB不是很廣泛,所以我將會用一個基本的機器,一個司機,1到2之間的自動伸縮的工人。

AvijitDey
新的貢獻者三世

謝謝你的回應。

什麼時間線您期望2.2 GB的數據插入到SQL數據庫?

時間線嗎?

現在重新分區5 - 10 -時間9分鍾

重新分配——時間13.16分鍾

尋找過程不到9分鍾

AvijitDey
新的貢獻者三世

任何進一步的建議

歡迎來到磚社區:讓學習、網絡和一起慶祝

加入我們的快速增長的數據專業人員和專家的80 k +社區成員,準備發現,幫助和合作而做出有意義的聯係。

點擊在這裏注冊今天,加入!

參與令人興奮的技術討論,加入一個組與你的同事和滿足我們的成員。

Baidu
map