此篇說明對應的kettle版本是6.1,實際使用時7.x應該也是一樣的。
一、 kettle開發流程(規范步驟,防止出錯)
(一) Kettle設置檢查
資源庫連接
如果不加一下配置項,數據轉換后中文會出現亂碼,很難處理。

本地連接資源庫:配置項
defaultFetchSize 500
useCursorFetch true
characterEncoding UTF-8
useUnicode true
(二) Kettle注意事項
1、每個trans、jobs的名稱都應該和文件名一致。在使用資源庫的時候,不是按照文件名生成對象,而是按照名稱屬性生成。{所以如果有名稱屬性相同的就會沖突}

2、資源庫方式trans相對job的位置只能通過圖中下面的一種方式(相對位置)。而不能通過設置trans文件位置的方式(因為是資源庫,並不是真的文件)。

(三) 資源庫方式開發
1、從線上導出一個job(包含了數據庫的連接等信息),直接導出成整資源庫的文件。
2、把這個文件資源庫導入到03測試庫。
3、把這個數據庫連接信息dataCenters對應的ip改成04上的開發庫(只改一個ip,其他連接信息是一致的)。
4、在這個庫上進行相關開發操作。
二、 上線流程
5、開發完成需要上線,直接把前面的資源庫的ip地址換成線上ip地址即可。
6、把開發庫上其他的東西都刪掉,只保留新開發的內容。
7、然后導出成整個文件的資源庫。把這個文件資源庫導入到線上。
(一) 安全流程
為了防止開發過程當中忘了改ip地址,直接連到生產庫去,或者把生產庫上的連接地址沖掉了。這里加上一個流程:
每次開發:從線上導資源庫到本地先導入到03的預發布庫去。改完ip地址再導入到04的開發庫去。
每次上線的話:反過來。先導入到03庫,刪除不必要的東西,改完ip地址再導入到線上環境。
(二) 驗證流程
由於kettle的特殊性。需要在任何改動后做驗證。
1、 每次修改、新增了kettle任務。必須要把job、trans都一步一步點開。查看是否能在job里順利找到子trans。同時查看數據庫連接信息是否正確(有沒有被開發庫的設置沖掉)。
2、 給發新增的任務(job或者trans)在jenkins中增加對應的調度。(這里建議調度名稱和調度要生成數據的表名一致)要有詳細的備注。
4、 每次修改、新增了kettle任務之后,都要在表結構同步好之后,jenkins中先構建一次任務,看看kettle任務是否能夠執行成功。
5、 任務跑成功之后,要連到生產庫查看對應數據是否正確。
6、 啟動web后要點開相應功能查看web展示上是否正確。
(三) 遷移注意事項
如果是新部署的kettle
kettle的資源庫,需要用圖形界面打開,手動再設置一遍(要先刪除/root/.kettle/目錄下的配置文件,重新配置;然后會重新生成配置文件,這時才能正確連上資源庫)
