1.Kettle
1.多多使用獲取字段按鈕
2.表輸入中的數字字段(如:COUNT(1))會自動轉換為小數點后一位,可以在獲取變量時轉為Integer,或者to_char(count(1))
3.從表輸入如果SQL中有變量,設置環境變量時需要手動獲取變量
4.讀取環境變量需要和設置環境變量在不同的轉換中
5.JNDI配置在data-integration\simple-jndi\jdbc.properties中1.配置例子
zzb_oracle_username/type=javax.sql.DataSource
zzb_oracle_username/driver=oracle.jdbc.driver.OracleDriver
zzb_oracle_username/url=jdbc:oracle:thin:@ip:port:ORCL
zzb_oracle_username/user=username
zzb_oracle_username/password=password
6.調試轉換時可以在執行時給變量賦值并調節日志級別
7.[添加文件到結果文件中]中需點擊增加才能添加文件
8.linux上job中使用hadoop copy files下載文件到本地,通過shell執行下載不了,通過UI可以(有可能是個bug,坑了我好幾天ToT)1.暫時可以變通使用
FTP下載
對象
9.javascript的date2str格式化時HH代表24小時制hh是12小時制
10.轉換中的步驟是并行執行的(以為有箭頭相連就有順序了,細心還是好呀~)
11.etl調用存儲過程
12.轉換中的DB存儲過程中指定的存儲過程如果返回值是小數則類型需要指定為BigNumber,否則有可能會出現截位現象
13.實現循環執行
1.對于作業表輸入會轉換為列名,SQL腳本不可以,而轉換無此限制
14.linux安裝pentaho(被日立收購了)
15.關于執行SQL腳本組件
16.關于csv導入數據庫
16.1.可以通過計算器計算生成新列
16.1.1.計算器可以通過增加一個Set field to constant value A來設置常數,而后參見運算
16.2.通過增加常量新增列,但值為常量
16.3.通過switch/case篩選數據
16.4.通過記錄關聯(笛卡爾輸出)新增列,可以使用變量
17.調用存儲過程,傳入的參數名和順序必須和procedure一致
18.Kettle教程
1.Kettle手冊
19.Kettle下載鏈接
1.社區版
20.執行SQL語句
中【變量替換】替換的是SQL中的?,不支持${}
21.設置命名參數
22.作業的sql和轉換的執行sql語句如想執行以下sql需要選擇將SQL腳本作為一條語句發送
和Execute as a single statement
begin
for cur in (select 'drop table '||table_name txt
from user_tables)
loop
execute immediate cur.txt;
end loop;
end;
23.解決kettle去除空格類型設置不上
24.解決kettle抽取Excel字段添加.0
1.時間加.0可以通過設置時間格式去除
25.可以表輸入1連接表輸入2,表輸入1拼接sql在表輸入2每一行執行exec (?)
,輸出到Microsoft Excel Writer
26.查詢ES