在使用ETL工具kettle做數據導入的時候,如果數據量比較大,如果不使用分頁導入數據,因為一次性加載數據量太大,會導致內存溢出錯誤,所以使用適當的分頁,可以避免此錯誤的出現。
實現的思路是,先把分頁的初始條件設置為變量, 然后判斷分頁條件是否符合,如果不符合,則直接退出,如果符合,則繼續導入,本次導入完成之后,執行控操縱,然后再次到分頁條件判斷,一詞進行,直到最后一頁導入完成。下次判斷就會返回false,直接跳到成功步驟。
整體的job如下圖,對錯誤忽略不做處理 
具體步驟: 這里使用的是增量更新,所以會使用分割的字段,這里使用的是記錄的創建時間
設置分頁變量

在設置變量的時候,【變量活動類型】設置為【Valid in the parent job】 
編寫數據抽取并導入到目標數據庫表中的轉換 這里的數據抽取要加上分頁條件

到這里,一個循環分頁的數據抽取導入的job就完成了,本文 只是作者在使用中的一次可行性嘗試,如有不正確還請留言討論。
轉載請注明出處,謝謝!
新聞熱點
疑難解答