我從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(模式=模式))
你好,這是有關分區優化。默認情況下,JDBC驅動程序查詢源數據庫隻有一個線程。所以寫創建從一個分區一個分區,這是使用單一的核心。當你使用熊貓,它做了一些轉換/操作,將你的數據集分成小的分區,然後每一個核心正在寫一塊你的數據集(分區)的SQL。請使用以下選項來優化閱讀,因為它是自動劃分
#一個列,可以使用均勻分布範圍的值,可用於並行.option (“partitionColumn”、“< partition_key >”) #最小值將數據與partitionColumn .option(“下界”、“< min_value >”) #馬克斯值將數據與partitionColumn .option (“upperBound”、“< max_value >”) #分區數量將數據分發到。把它的核心員工.option (“numPartitions”,
你好,這是有關分區優化。默認情況下,JDBC驅動程序查詢源數據庫隻有一個線程。所以寫創建從一個分區一個分區,這是使用單一的核心。當你使用熊貓,它做了一些轉換/操作,將你的數據集分成小的分區,然後每一個核心正在寫一塊你的數據集(分區)的SQL。請使用以下選項來優化閱讀,因為它是自動劃分
#一個列,可以使用均勻分布範圍的值,可用於並行.option (“partitionColumn”、“< partition_key >”) #最小值將數據與partitionColumn .option(“下界”、“< min_value >”) #馬克斯值將數據與partitionColumn .option (“upperBound”、“< max_value >”) #分區數量將數據分發到。把它的核心員工.option (“numPartitions”,
我總是驚訝的答案可以在這個網站。非常感謝你這麼多。
你是受歡迎的。非常感謝您選擇我的答案為最佳。