簡體   English   中英

Pentaho水壺循環會導致內存泄漏?

[英]Memory Leak with Pentaho Kettle Looping?

我有一個ETL要求,例如:

我需要從一個表中獲取大約20000條記錄並分別處理每個記錄(處理每個記錄涉及幾個步驟,例如為每個記錄創建一個表並將一些數據插入其中)。 對於原型,我用兩個Jobs(具有相應的轉換)實現了它。 我沒有創建表,而是創建了一個簡單的空文件。 但是這種簡單的情況似乎也無法順利進行。 (當我為每條記錄創建一個表時,水壺在5000次記錄后退出)

當我運行此程序時,水壺會變慢,然后在2000-3000個文件后掛起,盡管經過很長時間后處理已完成,但水壺似乎有時會停止。 我的設計方法正確嗎? 當我用實際要求替換寫入文件時,例如為每個id創建一個新表(通過sql腳本步驟)並將數據插入其中,水壺將在5000條記錄后退出。 我需要做什么才能使流程正常工作。 增加Java內存(Xmx已經為2gb)? 我可以更改其他配置嗎? 還是還有其他方法? 多余的時間不應成為限制,但流程應該可以進行。

我最初的猜測是,因為我們不存儲任何數據,原型至少應該順利進行。 我正在使用Kettle 3.2。

我似乎記得這是一個已知問題/限制,因此為什么現在不推薦使用作業循環。

您是否可以使用轉換和/或作業執行者步驟來重新構建作業? 您可以通過這些停靠點執行任意數量的行。

這些步驟都有其自身的問題-也就是說,您必須顯式處理錯誤,但是值得一試,看看是否可以實現所需的目標。 這是稍微不同的心態,但是比工作方法更好的構建循環的方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM