今天早上在網上看到了kettle發布了最新的版本,忽然想起最近其實做了不少工作應該是ETL工具的拿手好戲,趕緊下載下來看看,看是否能夠在實際的工作中應用起來。
順便講一下,為啥看到kettle會兩眼發光。
最近寫了好幾個小程序,用于從一個ftp去獲取數據,然后轉發至另一個ftp去,或者是從一個數據庫獲取數據然后保存至本地的數據庫中,使用的是jdk中的Timer實現的定時調度,本來也沒什么問題,連續運行幾個月都不會出錯。
可是最近網絡不是太好,周期性抽風,ping包時,每5分鐘大概會丟7-8個包,從而導致程序也會假死,過一段時間后就不正常干活了,估計是因為用了數據庫連接池的問題,要是每次發起數據庫連接可能就不會有問題了,偷懶也不想改了,因為網絡最終肯定是會修好的 :-) 但是想試試ETL工具,因為后面還有一些類似的東西要處理,不想寫代碼了,用別人的輪子感覺比較好,呵呵
首先下載了kettle的最新版,kettle3.1,解壓后即可運行,一般的開發人員稍微摸索一下,看看例子簡單的轉換還是會做的,今天小試了一把,有幾個注意點記下來。
- 使用資源庫(repository)登錄時,默認的用戶名和密碼是admin/admin
- 當job是存放在資源庫(一般資源庫都使用數據庫)中時,使用Kitchen.bat執行job時,需使用如下的命令行:
Kitchen.bat /rep kettle /user admin /pass admin /job job名
- 當job沒有存放在資源庫而存放在文件系統時,使用Kitchen.bat執行job時,需使用如下的命令行:
Kitchen.bat /norep /file user-transfer-job.kjb
- 可以使用命令行執行job后,就可以使用windows或linux的任務調度來定時執行任務了
在一開始使用命令行方式執行job時,總是報如下的錯誤,琢磨了好長時間總算整明白正確的方式了。
Unexpected error during transformation metadata load
No repository defined!
下一步準備按照實際情況定制Job,做好了再寫小結。
posted on 2008-12-04 22:48
The Matrix 閱讀(10360)
評論(13) 編輯 收藏 所屬分類:
Kettle