2016-10-31 23 views
0

我有400萬條記錄,需要每天從源到目標的數據加載,我們每天都在進行截斷。它需要9個小時,因爲有10個表格每天處理400萬條記錄數據。 你能告訴我如何提高性能。由於我想提高數據加載的pentaho性能

+0

您正在使用什麼RDBMS:

參考(選項2)? – Nikhil

+0

我的源代碼是Oracle,目標是MySQL –

+0

我知道這個解決方案,並且已經實現,但是沒有用,我甚至將副本數量增加到了4. –

回答

0

你有兩個選擇:

  1. 使用在PDI提供的MY SQL批量載入程序的步驟。這肯定會使數據加載速度更快。
  2. 使用一些簡單的JDBC連接設置可以提高速度。

    useServerPrepStmts=false 
    rewriteBatchedStatements=true 
    useCompression=true 
    

這些選項在PDI在連接輸入。雙擊連接轉到選項並設置這些值。

一起使用,useServerPrepStmts=falserewriteBatchedStatements=true將「虛假」批量插入客戶端。具體來說,插入語句:

INSERT INTO t (c1,c2) VALUES ('One',1); 
INSERT INTO t (c1,c2) VALUES ('Two',2); 
INSERT INTO t (c1,c2) VALUES ('Three',3); 

將被改寫成:

`INSERT INTO t (c1,c2) VALUES ('One',1),('Two',2),('Three',3`); 

第三個選項useCompression=true壓縮客戶端和MySQL服務器之間的流量。

最後,您可以將輸出步驟的副本數增加到2,以便有兩個線程插入到數據庫中。

希望它有幫助! https://anonymousbi.wordpress.com