etl工具,kettle實現迴圈,etl工具kettle實現
Kettle是一款國外開源的ETL工具,純java編寫,可以在Window、Linux、Unix上運行,綠色無需安裝,資料幫浦高效穩定。
業務模型: 在關係型資料庫中有張很大的資料存放區表,被設計成奇偶庫儲存,每個庫100張一模一樣的表,每張表格儲存體1000W,自動切換到下一個表。現需要同步這個資料到hive中(hdfs),迴圈抽取這些資料。如果是抽取增量的帶上增量欄位(每天增量資料存放區在哪個表,奇數庫還是偶數庫是不知道的)。
a sqoop直接從mysql到hive,這樣有些特殊字元會導致sqoop異常終止。而且這樣迴圈對伺服器的資料庫大量取數,對伺服器壓力很大,很容易導致伺服器癱瘓。
b 使用kettle處理轉換過程就沒有這樣的問題。kettle支援分頁取資料,一定程度上減輕伺服器壓力。
1 先看總結構圖(以下版本為5.1)
2 設定環境變數
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判斷
對於ETL工具kettle串連國產達夢資料庫問題,用過的進
1、下載最新的kettle版本
2、把達夢對應JDK版本的jdbc驅動放在D:\kettle\pdi-ce-4.4.0-stable\data-integration\libext\JDBC安裝目錄下面
3、在connection type中選擇generic database右側填好url和Driver
kettle spoon 開源etl工具誰用過,有沒有詳細的教程?
網上資源很多,有基礎的話,邊學邊做項目,一個月可入門。
這類工具都是入門容易,但是要做好,要有一定的資料庫基礎,一定的開發能力,對項目的徹底理解及前瞻性。
建議尋找QQ群加入,當然你要有一定的基礎、自學能力、鑽研能力。
KETTLE和SQL 2005中的SSIS都是一類的工具。
用KETTLE的,現在也非常多,還是很好上手的。