etl工具,kettle實現循環


  

Kettle是一款國外開源的ETL工具,純Java編寫,可以在Window、Linux、Unix上運行,綠色無需安裝,數據抽取高效穩定。

 

業務模型: 在關系型數據庫中有張很大的數據存儲表,被設計成奇偶庫存儲,每個庫100張一模一樣的表,每張表存儲1000W,自動切換到下一個表。現需要同步這個數據到Hive中(hdfs),循環抽取這些數據。如果是抽取增量的帶上增量字段(每天增量數據存儲在哪個表,奇數庫還是偶數庫是不知道的)。

 

 a sqoop直接從MySQLhive,這樣有些特殊字符會導致sqoop異常終止。而且這樣循環對服務器的數據庫大量取數,對服務器壓力很大,很容易導致服務器癱瘓。

 b 使用kettle處理轉換過程就沒有這樣的問題。kettle支持分頁取數據,一定程度上減輕服務器壓力。

 

先看總結構圖(以下版本為5.1


設置環境變量


3 : JavaScript代碼

 


編輯內容為

var count;

count = parent_job.getVariable("V_ID");

if(count == 10){

    false;

}else{

    count++;

    parent_job.setVariable("V_ID", count);

    true;

}

4 新建轉換

 

編輯轉換,內容為:


5  dummy  條件判斷,不作修改

 

設置循環邏輯,箭頭方向和類型很重要


6 執行job,測試循環。

另外附上3.2版本的kettle循環


設置變量


設置判斷條件


轉換 表輸入文件輸出


Js判斷

 

 

 

來源:http://blog.csdn.net/lili72/article/details/39716455

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM