麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

kettle系列-1.kettle源碼獲取與運行

2019-11-15 00:06:27
字體:
來源:轉載
供稿:網友
kettle系列-1.kettle源碼獲取與運行

  第一次寫博客,心里有點小激動,肯定有很多需要改進的地方,望海涵。

  kettle算是我相對較為深入研究過的開源軟件了,也是我最喜歡的開源軟件之一,它可以完成工作中很多體力勞動,在ETL數據抽取方面得到了廣泛的使用。我本身對kettle的各個控件使用也不是很熟悉,只會使用最常見的部分控件,就是這樣簡單的使用也被它的美深深的吸引住了。

  好了,進入正題,這里假設你熟悉java開發、git一般使用、kettle一般使用。kettle源碼之前托管在kettle官方的svn上,后來遷移到了github上,在github上的地址是:https://github.com/pentaho/pentaho-kettle,建議注冊自己的github賬戶,然后將kettle項目fork一份到自己用戶下,接著進入工作目錄(如:E:/workspace)使用如下命令將代碼克隆到本地。

git clone https://github.com/pentaho/pentaho-kettle

  下載代碼的同時你可以到:http://community.pentaho.com/PRojects/data-integration/ 這個地址下載最新的kettle發布版。都下載完成后按以下步驟最終可以成功運行kettle源碼。建議使用jdk7或以上版本。

  1. 在eclipse導入已經存在的項目,將core、engine、ui、DB Dialog、和kettle項目本身導入eclipse,如下圖所示,其他關閉的項目可以不用導入。
  2. 在eclipse中創建User Libraries(用戶庫),將下載的可運行的kettle目錄下的lib目錄全部添加到該用戶庫中,然后移除其中core、engine、ui、DB Dialog等四個jar包,再將libswt/win32目錄下的swt.jar加入該用戶庫中,具體如下圖所示。
  3. 然后依次右鍵上述導入的項目選擇bulid path,將上一步創建的用戶庫加入類路徑中,然后engine、ui、DB Dialog三個項目都依賴core,ui還要依賴engine、DB Dialog兩個項目,最后還有主項目依賴上述四個項目和kettle用戶庫,如下圖所示。
  4. assembly下的package-res添加為源文件如下圖所示。
  5. 這下應該就可以成功運行kettle了,如下方式運行:
  6. kettle源碼運行結果

  上述就是我運行kettle源碼的方式,方式肯定有很多,這種方式應該不算難,特別是依賴jar的解決,kettle使用的是ant管理項目的,一來我平常都是使用maven管理項目,對ant不太熟悉,二來ant方式很多jar包根本下載不到。

  這里只是為了分享下自己運行kettle源碼的方式,說實話剛接觸kettle源碼時真沒運行起來,隔了好長一段時間后再次嘗試才成功運行的。若想用上述方式運行又覺得麻煩的可以先按上述方式創建好以kettle命名的用戶庫。然后從我的github上下載配置好的kettle項目,理論上下載下來就可以用。方式如下:

  1. 按上面的步驟下載kettle安裝包后在eclipse中創建好用戶庫。
  2. 從https://github.com/ma459006574/pentaho-kettle.git 這個地址clone代碼到本地,切換到my_run分支再導入eclipse就可以了。與官方的差別只在各項目的.classpath文件,你也可以對比差異自行配置。

  后續我將介紹kettle源碼結構,分享部分kettle控件改進,還會將自己定制化開發kettle(將kettle的部分功能封裝到web應用中)的過程中寫的kettle定制開發工具類分出來,大家一起進步。

  下面是在使用kettle過程中覺得需要改進的地方:

1.文件加載如內存功能修改,文件內容默認為二進制,這樣就可以將圖片、壓縮文件等復制,存入數據庫等。7.文件加載如內存功能的convertRowMeta和outputRowMeta都沒有考慮編碼stringEncoding。相關克隆也都沒有考慮編碼。2.轉換中,支持#{}方式取前一個步驟中的字段14.java腳本和Javascript腳本(希望能將json都對象使用)都還太難用,好好改進后kettle就牛逼了。3.java腳本支持用戶新增導入包4.Excel 07版支持不好,07版excel兩種解析工具效果都不好,poi大文件會內存溢出,poi stream有如17-19問題。16.excel輸入控件獲取sheet時本可以直接獲取,結果弄得比較復雜。17.poi streaming存在bug,會占用文件。18.poi streaming以string讀取時間時為數字。19.poi streaming部分列為空時數據錯亂。5.抽取ui部分方法為工具類,方便web定制開發。6.數據庫只要連接失敗一次,后面即使數據恢復正常,kettle的連接也一直失敗了。可以改為設置定時重連,涉及面較廣。8.rar壓縮文件的處理,解壓控件新增選項:保留目錄結構,默認勾選,不勾選則全部文件解壓到指定目錄。9.解壓控件的解壓成功后移動到指定目錄和刪除文件功能有bug,他是對設定的根目錄操作。10.zip解壓中文目錄亂碼問題,kettle使用的是jdk自帶解壓工具類,暫時修改vfs的jar,新增編碼設置,jdk6不支持設置編碼,需要升級到jdk7.11.zip解壓不支持密碼,可以更換zip解壓工具為zip4j12.壓縮控件支持加密,可統一設置密碼,也可從上一個流中獲取。20.解壓控件新增支持rar解壓。13.添加操作zookeper控件,可以監控節點變化等。15.新增dmp入庫控件,用腳本入庫還是不太方便。21.ftp下載控件檢測目錄存在時,中文目錄都會失敗,因為檢測目錄時并沒有使用用戶設定的編碼。

  


上一篇:Java關鍵字

下一篇:五、初始化與清理

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产精品视频在 | 免费观看高清视频网站 | 亚洲成人免费电影 | xnxx 美女19 | 国产精品久久久久久久久久大牛 | 精品亚洲在线 | 超碰99在线观看 | 国产一区免费 | 中文字幕在线观看91 | 一级做人爱c黑人影片 | h色网站免费观看 | 激情视频免费看 | 禁漫天堂久久久久久久久久 | 亚洲xxx在线观看 | 国产精品欧美久久久久一区二区 | 毛片视频网站在线观看 | 日韩视频一二三 | 黄色99视频 | 国产一区二区二 | 亚洲欧美国产高清va在线播放 | 国产精品久久久久久久久久久久久久久 | 2019天天干夜夜操 | 欧美成人精品一区二区 | 免费国产成人高清在线看软件 | 国产在线播放91 | 毛片视| 成人偷拍片视频在线观看 | 日产精品一区二区三区在线观看 | 一区在线免费视频 | 久草在线综合 | 龙的两根好大拔不出去h | 可以看逼的视频 | 中国7777高潮网站 | 日本精品久久久一区二区三区 | 精品一区二区三区日本 | 精品国产九九九 | www.91tv| 3级毛片| 九九福利视频 | 国产美女爽到喷白浆的 | 欧洲狠狠鲁 |