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

磚JDBC / ODBC寫批大小

Alexander1
新的貢獻者三世

我花了太多時間去尋找解決問題的有效的寫數據通過JDBC / ODBC磚。我有了無數的文檔、博客和回購,我不能找到一個例子,有人設置某種批/體積/緩衝選項告訴jdbc驅動程序沒有一點/插入數據行操作寫入δ表。有人知道一個解決方案嗎?許多其他目的地jdbc驅動程序提供散裝/批寫道,即使是磚MS SQL連接器支持bulkCopyToSqlDB方法和類似的雪花。為什麼我找不到任何可以在編寫磚。我看著很多東西包括如下。任何指針是感謝。

1接受解決方案

接受的解決方案

Alexander1
新的貢獻者三世

嗨@Suteja卡努裏人謝謝你的回複。讓我帶你的選擇。

  1. Apache火花JDBC連接器:我看不出批量/批處理寫選項隻火花從火花到其他數據庫;如果你有一個文檔的指針,這將是高度讚賞;
  2. spark.databricks.delta.maxFileSize:這是一個選項後,數據傳輸,不增加傳輸速度;
  3. 優化:看(2)
  4. rewriteBatchedStatements:看(2)

目前,我們利用CData磚與批量加載JDBC驅動程序的選項(SAS)實際上使用了兩步轉移首先寫入數據雲存儲(ADLS),然後使用磚複製到負載和蜂巢登記。很迅速,但也有一些缺點比如完全隻編寫(沒有附加/插入/更新)和模式定義(例如CData驅動器類型轉換)。但這一點肯定比行操作磚JDBC編寫。

在原帖子查看解決方案

5回複5

匿名
不適用

@Alexander瓦格納:

磚三角洲湖支持批量寫道,這一點更有效行操作寫道。然而,該方法實現這可能取決於所使用的特定的JDBC驅動程序。這裏有一些可能的解決方案:

  1. 使用Apache火花JDBC連接器代替磚JDBC連接器。這個連接器支持批量插入,可以用於三角洲湖。您可以指定批處理大小使用batchsize選項在創建JDBC連接。
  2. 使用spark.databricks.delta.maxFileSize選項來控製文件的大小。通過設置一個較大的值,這個選項,您可以確保三角洲湖寫大文件,提高寫性能。
  3. 使用優化命令小文件合並到更大的文件。這將提高查詢性能和降低存儲開銷。你可以運行這個命令定期三角洲表優化。
  4. 如果您使用的是磚JDBC連接器,您可以嚐試將rewriteBatchedStatements選項設置為true。這可以提高寫性能通過允許司機在單個批處理發送多個語句。

記住,最優解可能取決於你的具體的用例,所以重要的是要測試和評估每種方法的性能。

Alexander1
新的貢獻者三世

嗨@Suteja卡努裏人謝謝你的回複。讓我帶你的選擇。

  1. Apache火花JDBC連接器:我看不出批量/批處理寫選項隻火花從火花到其他數據庫;如果你有一個文檔的指針,這將是高度讚賞;
  2. spark.databricks.delta.maxFileSize:這是一個選項後,數據傳輸,不增加傳輸速度;
  3. 優化:看(2)
  4. rewriteBatchedStatements:看(2)

目前,我們利用CData磚與批量加載JDBC驅動程序的選項(SAS)實際上使用了兩步轉移首先寫入數據雲存儲(ADLS),然後使用磚複製到負載和蜂巢登記。很迅速,但也有一些缺點比如完全隻編寫(沒有附加/插入/更新)和模式定義(例如CData驅動器類型轉換)。但這一點肯定比行操作磚JDBC編寫。

匿名
不適用

@Alexander瓦格納:

你是正確的,Apache火花JDBC連接器沒有批量/批處理寫選項引發本身,隻有從火花到其他數據庫。

聽起來你已經找到一個解決方案使用CData磚與批量加載JDBC驅動程序的選項,它使用一個兩步轉移的方法。雖然這種方法也有一些缺點,它似乎是工作對你的用例。所有最好的!

Vidula_Khanna
主持人
主持人

嗨@Alexander瓦格納

希望一切進行得很順利。

隻是想檢查如果你能解決你的問題。如果是的,你會很高興的答案標記為最好,其他成員可以找到解決方案更快嗎?如果不是,請告訴我們,我們可以幫助你。

幹杯!

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

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

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

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

Baidu
map