kettle 安裝使用

 

 

Kettle 安裝使用

 

1、環境準備

1.1安裝java JDK

1)首先到官網上下載對應JDK包,基於其他系統應用共享jdk,建議jdk版本1.8以上

2)安裝JDK;

3)配置環境變量

 

4)測試jdk安裝成功

 

 

 

2、安裝

 

2.1、下載軟件

進入如下鏈接:

https://community.hitachivantara.com/docs/DOC-1009855

 

下拉到如下頁面點擊圈住的鏈接並按照提示到sourceforge裏下載:

 

如下圖,等會即可選擇目錄下載

 

或則直接輸入如下下載鏈接選擇版本進行下載:

https://sourceforge.net/projects/pentaho/files/

 

 

2.2、安裝軟件

2.2.1、windows環境

將解壓下載好壓縮文件到指定目錄,如: F:\skyCloudData\data-integration,即可完成安裝.

進入Kettle程序主目錄(即之前解壓後的目錄),點擊Spoon.bat即可打開Kettle.

 

如果出現如下界面則啓動成功:

 

 

2.2.2、Linux環境

將解壓下載好壓縮文件到指定目錄,如: /export/hadoop/data-integration,即可完成安裝.

進入Kettle程序主目錄(即之前解壓後的目錄),sh spoon.sh即可啓動kettle

如果出現如下圖所示的錯誤,則需要安裝Xmanager

 

 

Xmanager下載地址:

http://down-ww3.newasp.net/pcdown/soft/soft1/xmanager6.cn.rar

下載Xmanager解壓安裝完之後,重新執行spoon.sh

 

啓動如出現下圖提示,可能由於Xmanager客戶端沒有啓動,重新執行spoon.sh即可:

 

 

啓動成功如下圖所示:

 

 

操作Xmanager時xshell可能會出現中文亂碼:

 

在當前xshell連接打開屬性設置,設置如下圖所示編碼即可

 

3、軟件使用

以下爲Windows環境下kettle的使用,linux環境在使用時有依賴錯誤,調試中。。。

3.1 Kettle的使用

3.1.1 創建保存

新建按鈕:

打開轉換:

打開資源庫,選擇已保存的作業雙擊打開

 

保存按鈕:

         紅色框中左側爲保存按鈕,

紅色框中右側爲另存爲,以新文件名保存,

  

 

3.1.2 轉換

例:

生成記錄:

         步驟名稱 -- 可以自定義;

         限制 – 表示生成的記錄數;

定義完可以進行數據預覽

增加序列:

         增加序列:相當於自定義一個等差數列

 

         步驟名稱和值得名稱都自定義;

         起始值 – 等差數列的起始值;

增長根據 – 等差數列的公差,每一項與它的前一項的差等於同一個值,這個值既是增長根據;

 

計算器:

 

         計算器中利用各種計算函數對傳進來的值進行計算:

 

         *注意:在純加和計算時,僅支持字符串(String)類型和 數值類型,誤選其他的會包類型錯誤

 

         計算器組件支持日期函數,對日期進行計算

 

Concat fields:

         該組件對保留的字段通過分隔符(Separator)進行組合:year_month(2019-11)

 

 

值映射:

 

         通過該組件將選中的字段中出現的值進行映射,替換成指定值

 

 

Excel輸出:

 

         文件設置:上一步生成的數據可以輸出到Excel文件中,點擊顯示字段名稱,可以顯示Excel文件保存的路徑及自定義的文件名稱;

 

         內容設置:對輸出到Excel表進行內容設置,可以將字段作爲表頭進行輸出,並進行工作簿命名;

 

         字段設置:點擊獲取字段按鈕,顯示所有將要輸出的字段,可以進行刪除操作,刪除的字段不會輸出到Excel表中

 

 

表輸出:

         在表輸出時,選擇數據庫連接,選項爲定義好的數據庫連接;

         目標表:1、點擊瀏覽可以在當前數據庫連接中選擇;

2、可以自定義表名,然後點擊下方的SQL按鈕,顯示建表語句,點擊執行即可在當前數據庫中創建表;

3、當傳入的數據字段名稱或類型與當前選中的目標表存在差異,點擊SQL按鈕會生成相關的update語句,點擊執行即可完成表結構的修改

執行:

  

3.1.3 作業

例:

開始組件: 可以設置作業定時調度

作業的過程中,可以添加上文的轉換過程,也可以添加另一個作業,成功作爲結束

 

 

作業過程中也可以添加具體的作業任務:

作業的執行

 

3.2、kettle在使用中碰到的問題

1、表數據遷移重複執行會造成數據重複,與表的主鍵唯一原則衝突

 

2、kettle數據傳輸編碼

 

3、在執行中報錯,對任務進行修改完確認正確後,仍報相同錯誤,可能由於緩存原因,需要清除緩存:

 

4、數據庫遷移:

 

         1)、建表時可能會出現如圖所示錯誤:

  

在代碼執行建表語句時結尾添加:ENGINE=MyISAM DEFAULT CHARSET=utf8 即可解決問題:

 

         2)、如果表數據爲空的話,報錯空指針

 

5、傳輸的數據亂碼問題

       如上圖中文部分可能出現亂碼,編輯spoon.bat文件,添加jvm啓動參數-Dfile.encoding=UTF-8,重啓kettle即可

 

文本輸出時可以設置文件格式及編碼,如下圖

4、使用優化

1、mysql表輸出的時候出現減速的原因可能是因爲網絡鏈接的屬性設置

 

在此處添加參數:

 

useServerPrepStmts=false 

rewriteBatchedStatements=true 

useCompression=true

 

如圖:

2、kettle 允許線程多開

         右鍵點擊組件,選擇‘改變開始複製的數量’選項,修改複製數量,點擊確定

3、也可以適當的提高數據集的大小

 

 

此處未改,不同的MySQL數據庫版本好似有數據傳輸限制會報Prepared statement contains too many placeholders

 

4、每次表輸出的提交量

 

更改大小視機器的內存大小改變,

 

5、kettle還可以併發處理job

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章