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

數據幀需要異常長時間寫較小的數據集

匿名
不適用

我們已經配置了工作區與自己的vpc。我們需要提取數據從DB2和δ格式寫。我們試圖為550 k記錄有230列,它了50分鍾完成任務。15 mn記錄時間超過18小時。不知道為什麼這需要這麼長的時間來寫。欣賞一個解決方案。

代碼:

df = spark.read.jdbc(url=jdbcUrl, table=pushdown_query, properties=connectionProperties)

df.write.mode .format(“追加”)(“δ”)。partitionBy(“年”、“月”、“日”).save (delta_path)

9回複9

匿名
不適用

休伯特感謝您的輸入。我檢查了火花UI,寫作需要更長時間。

任何有關增加並行鏈接檢查。

RKNutalapati
價值貢獻

@Dhusanth Thangavadivel,一般我們如何配置集群是如果我們計劃導入數據與100個分區。然後我們需要確保集群可以旋轉100個線程。

它還將依賴數據庫,是否會允許100連接時間。

我觀察到的是如果任何與巨大的文本或blob數據列,然後寫/讀會有點慢。

Hubert_Dudek1
尊敬的貢獻者三世

每個cpu流程1分區,其他等。你可以自動定量像2 - 8執行人每4 cpu,它將處理並發馬克斯32(4×8)分區。

也請檢查網絡配置。私人鏈接連接到ADLS建議。

df = spark.read.jdbc請用df.rdd.getNumPartitions驗證分區號()

Kaniz
社區經理
社區經理

你嗨@Dhusanth Thangavadivel,告訴我們如果你的問題解決了嗎?

elgeo
重視貢獻二世

你好。我們麵臨同樣的問題。閱讀是快速但寫作需要長時間。澄清一下,這是一個隻有700 k表行。有什麼建議嗎?謝謝你!

remote_table = spark.read。格式(jdbc) \

.option(“司機”,“com.ibm.as400.access.AS400JDBCDriver”) \

.option (“url”,“url”) \

.option(“數據表”,“table_name”) \

.option (“partitionColumn”、“ID”) \

.option \(“下界”、“0”)

.option \ (“upperBound”、“700000”)

.option \ (“numPartitions”、“1000”)

.option(“用戶”、“用戶”)\

.option(“密碼”、“通過”)\

.load ()

remote_table.write.format(“δ”).mode \(“覆蓋”)

.option (“overwriteSchema”,“真正的”)\

.partitionBy \ (" ID ")

.saveAsTable (“table_name”)

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

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

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

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

Baidu
map