1需求描述
使用Linux中的CRONTAB調度kettle
2 數據庫環境
DROP TABLE DB2INST1.TEST_1;
CREATE TABLE DB2INST1.TEST_1
(
ID INTEGER,
NAME VARCHAR (10),
DATE VARCHAR(10)
)
IN USERSPACE1;
INSERT INTO TEST_1 VALUES ('1','sds','20160909');
INSERT INTO TEST_1 VALUES ('2','sds','20160910');
INSERT INTO TEST_1 VALUES ('3','sds','20160907');
INSERT INTO TEST_1 VALUES ('4','sds','20160908');
DROP TABLE DB2INST1.TEST_2
CREATE TABLE DB2INST1.TEST_2
(
ID INTEGER,
NAME VARCHAR (10),
DATE VARCHAR(10)
)
IN USERSPACE1;
3 整體示意圖
3.1 ETL.kjb

3.2 Tran.ktr

3.3 調度示意圖

使用Linux調度kjb,使用kjb調度ktr
4 參數設置
首先在ETL.kjb中定義參數
右鍵---作業設置

接着看到如下界面:設置作業中的命令參數

作業中的命令參數設置好了,那么接下來就是把作業中的命令參數傳遞給轉換

接着打開Tran.ktr,定義轉換參數(定義的名字與作業中定義的轉換參數保持一致)

接着在表輸入中獲取參數

整個從作業到轉換參數傳遞結束
5 Linux自動調度作業設置
新建ETL.sh文件,內容如下
#!/bin/bash export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.51-2.4.5.5.el7.x86_64/jre export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar /home/kettle/soft/data-integration/kitchen.sh -file=/home/kettle/job/ETL.kjb -param:date=20160909 > /home/kettle/20160909.txt
5.1 CRONTAB命令
查看當前用戶的定時任務
[kettle@localhost sh]$ crontab –l
編輯當前用戶的定時任務
[kettle@localhost sh]$ crontab –e
編輯當前用戶的定時任務
[kettle@localhost sh]$ crontab –r

摘自:http://www.cnblogs.com/peida/archive/2013/01/08/2850483.html
實例:
每五分鍾執行 */5 * * * *
每小時執行 0 * * * *
每天執行 0 0 * * *
每周執行 0 0 * * 0
每月執行 0 0 1 * *
每年執行 0 0 1 1 *
Linux中CRONTAB設置
輸入CRONTAB -e,回車查看信息

按i進入編輯模式,輸入一下內容后保存

賦予ETL.sh可執行權限

一分鍾后查看數據庫,結果如下:

