我們已經配置了工作區與自己的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)
每個cpu流程1分區,其他等。你可以自動定量像2 - 8執行人每4 cpu,它將處理並發馬克斯32(4×8)分區。
也請檢查網絡配置。私人鏈接連接到ADLS建議。
後df = spark.read.jdbc請用df.rdd.getNumPartitions驗證分區號()
你好。我們麵臨同樣的問題。閱讀是快速但寫作需要長時間。澄清一下,這是一個隻有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”)