2016-03-02 107 views
1

with the reference to my previous post,here is the link轉換花費太長的時間來執行

我在我的源中有130000條記錄。當我嘗試運行轉換時,它仍然在16小時後運行。

將增加spoon.bat腳本文件的內存堆有助於減少我的轉換的執行時間? (從PENTAHO_DI_JAVA_OPTIONS="-Xmx256m -XX:MaxPermSize=256m更改爲PENTAHO_DI_JAVA_OPTIONS="-Xmx2g -XX:MaxPermSize=256m)。

什麼是其他方法來提高轉換的性能?

+0

你有沒有檢查你的瓶頸? – bolav

+0

@bolav這是你在我以前的帖子中提出過的同樣的轉換。我只改變了源數據,列名和它的元數據也是一樣的。 – Deepesh

+0

但是,您需要使用勺子對其進行配置。 – bolav

回答

3

我還需要加快轉型。這是我的設置PENTAHO_DI_JAVA_OPTIONS="-Xmx2048m" "-XX:MaxPermSize=1024m"

最終速度取決於轉換的設計。一般情況下:

  • 硬件參數你的機器/服務器運行它。 (在我的情況下,當我在新服務器上運行一項工作比在我的筆記本電腦上快兩倍)。在運行期間是否有其他進程在同一臺機器上運行?
  • 轉化是否優化?你使用JavaScript的步驟很多嗎?它們比較慢(嘗試用另一個步驟替換它們)。你使用什麼樣的存儲?你使用了多少個數據庫連接?
  • 你有確定瓶頸的轉型嗎?當您運行轉換時,您可以看到哪些步驟正在減慢速度(瓶頸)[請參閱Step Metrics選項卡的Execution results,重點在Speed a Input/output]。例如。數據庫連接到遠程服務器,合併連接,分類步驟。你可以設置更多的實例這樣一個步驟(右鍵單擊步驟>Change number of copies to start..>將其設置爲2或更多>重新運行轉換並查看差異)。
  • 使用緩存數據庫查找選項。
  • 避免「緩慢的步驟」如果可能的話(需要處理所有行以創建結果的那些):對行進行排序,合併連接,唯一行,行反轉換器。當第一行到達這樣的一個步驟時,它一直等待,直到最後一行出現爲止。然後該步驟處理所有行,創建結果並繼續轉換。
  • 嘗試使用集羣

延伸閱讀:

1
  1. 避免排序操作
  2. 避免Java腳本,如果可能的話
  3. 一個大的JavaScript步驟運行速度快於三個連續的較小步驟。所以儘量
  4. 蜱在變換設置
  5. 如果可能的其他選項卡結合「管理線程優先級」,不選擇值刪除字段
  6. 應用無份的開始 refernce: - http://help.pentaho.com/Documentation/5.4/0L0/0Y0/070/030