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

為什麼鏈接火花。閱讀從一個係統/司機和.write到另一個係統/司機花費這麼多的時間比每件單獨做什麼?

jonathan-dufaul
價值貢獻

我從IBM DB2讀取數據並保存到一個MS SQL server(第一步是搬磚的代碼本身,然後我們將數據庫數據磚本身)。

我遇到的問題做一些像下麵將> 1小時前我停止它,但是做每一步單獨(使用中間熊貓dataframe)導致同樣的事情也許15 - 20分鍾。我想知道為什麼,我能做些什麼來避免使用熊貓。

代碼不工作/永遠需要:

((spark.read.format (jdbc) .option .option(“司機”,“com.ibm.db2.jcc.DB2Driver”) (“url”, connection_url) .option(“查詢”,查詢).load ()) .write.format (jdbc) .option (“url”, sqlsUrl) .option .option(“司機”,“com.microsoft.sqlserver.jdbc.SQLServerDriver”)(“數據表”,table_name) .option(“用戶”,用戶名).option(“密碼”,密碼).save(模式=模式))

1接受解決方案

接受的解決方案

Hubert_Dudek1
尊敬的貢獻者三世

你好,這是有關分區優化。默認情況下,JDBC驅動程序查詢源數據庫隻有一個線程。所以寫創建從一個分區一個分區,這是使用單一的核心。當你使用熊貓,它做了一些轉換/操作,將你的數據集分成小的分區,然後每一個核心正在寫一塊你的數據集(分區)的SQL。請使用以下選項來優化閱讀,因為它是自動劃分

#一個列,可以使用均勻分布範圍的值,可用於並行.option (“partitionColumn”、“< partition_key >”) #最小值將數據與partitionColumn .option(“下界”、“< min_value >”) #馬克斯值將數據與partitionColumn .option (“upperBound”、“< max_value >”) #分區數量將數據分發到。把它的核心員工.option (“numPartitions”,:smiling_face_with_sunglasses:

在原帖子查看解決方案

3回複3

Hubert_Dudek1
尊敬的貢獻者三世

你好,這是有關分區優化。默認情況下,JDBC驅動程序查詢源數據庫隻有一個線程。所以寫創建從一個分區一個分區,這是使用單一的核心。當你使用熊貓,它做了一些轉換/操作,將你的數據集分成小的分區,然後每一個核心正在寫一塊你的數據集(分區)的SQL。請使用以下選項來優化閱讀,因為它是自動劃分

#一個列,可以使用均勻分布範圍的值,可用於並行.option (“partitionColumn”、“< partition_key >”) #最小值將數據與partitionColumn .option(“下界”、“< min_value >”) #馬克斯值將數據與partitionColumn .option (“upperBound”、“< max_value >”) #分區數量將數據分發到。把它的核心員工.option (“numPartitions”,:smiling_face_with_sunglasses:

我總是驚訝的答案可以在這個網站。非常感謝你這麼多。

Hubert_Dudek1
尊敬的貢獻者三世

你是受歡迎的。非常感謝您選擇我的答案為最佳。

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

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

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

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

Baidu
map