ETL工具Kettle的使用,各個控件作用

1、ETL 工具(kettle)
下載:https://community.hitachivantara.com/s/article/data-integration-kettle
2、解壓
kettle目錄文件
classe:生命週期監聽,註冊擴展、日誌的配置文件
Data integration app:數據集成應用
Data Server JDBC Driver :jdbc驅動程序的數據服務
docs : docs 文檔
launcher : kettle的啓動服務
lib:支持庫jar包
libswt:kettle圖像庫jar
plugins:plugins 插件
pwd: kettle 集羣配置文件
simples: 自帶例子
simple-jndi:連接配置
system:系統目錄
ui:軟件界面
carte.bat/Carte.sh 啓動集羣命令
Encr.bat/Encr.sh  kettle提供的加密算法
import.bat/import.sh 導入命令
kitchen.bat/kitchen.sh 運行job的命令

pan.bat/pan.sh 運行轉換的命令
set-pentaho-env.bat 設置環境變量的腳本

Spoon.bat 啓動kettle UI 界面
SpoonDEbug.bat  以debug的方法是運行kettle
3、安裝
(1)首先安裝jdk
(2)啓動spoon.bat
4、設置環境變量 
kettle_HOME  D:\pdi-ce-8.3.0.0-371\data-integration
path  %kettle_HOME%
5、事例1 csv->excle
   input->output   按住shift鍵將兩個圖像相連
   點擊開始執行
6、轉換
轉換是ETL解決方案中最主要的部分,他處理抽取轉換加載各種對數據的操作
轉換包含一個或多個步驟(step),如讀取文件,過濾數據行,數據清洗或將數據加載到數據庫
轉換裏的步驟通過跳(hop)來連接,跳定義一個單向通道,允許數據從一個步驟向另一個步驟流動
在kettle裏,數據的單位是行,數據流就是數據行從一個步驟到另一個步驟的移動。
數據流有事也稱爲記錄流。
7、文本文件輸入
8.excle輸出
9.文本文件輸出(.txt,.csv)
主體對象樹可以實現文件共享
10.SQl文件輸出(表結構和數據)
11.excle輸入->表輸出
12.更新(把數據庫已經存在的記錄與數據流裏面的記錄進行對比,如果不同進行更新) 注意:如果記錄不存在則會出現錯誤
13.插入更新(應用場景更多)
14.自定義常量數據  (自定義常量數據(input)->刪除(刪除表裏面的數據))
15.轉換控件(清洗)
(1)concat Fields  就是多個字段連接成一個新的字段
excle輸入--->concat Fields--->excle輸出
(2)值映射(值映射就是把字段裏面的值映射成其他的值)
例:從excle中讀取數據,並把gender裏面的f和m轉換爲female和male,寫入到excle文件
excle輸入--->值映射----->excle輸出
(3)增加常量
增加常量就是在本身的數據流裏面添加一列數據,該列的數據都是相同的值
(4)增加序列
增加序列就是給數據流添加一個序列字段
(5)字段選擇(刪選字段)
字段改名和移除不需要的字段
(6)計算器
大小寫替換   3個字段運算    數值相加  移除被合併字段
輸入--->計算器--->輸出
(7)字符串__剪切 __操作__ 替換
字符串操作是去除字符串兩端的空格和大小寫切換,並生成新字段
excle輸入---->字符串剪切---->字符串替換--->字符串操作-->excle輸出
(8)去除重複記錄+排序記錄
排序記錄   
從excle中讀取數據,去除重複記錄,並保存到excle
excle輸入-->排序記錄-->去除重複記錄-->excle輸出
(9)唯一行哈希值(就是刪除數據流重複的行)  效率高
excle輸入--唯一行哈希值--->excle輸出
(10)拆分字段(就是把字段按照分隔符拆分成兩個或多個字段)
注意:拆分字段後,原字段就不存在數據流中
excle輸入-->拆分字段--->excle輸出
(11)列拆分爲多行(就是把指定分隔符的字段進行拆分爲多行)
CSV輸入--->列拆分爲多行--->excle輸出

(12)列換行(需要對數據流進行排序處理)
列轉行就是如果數據一列有相同的值,按照指定的字段,把多行數據轉換爲一行數據
去除一些原來的列名,把一列數據變爲字段

(13)行專列就是把字段的字段名轉換爲一列,把數據行變爲數據列
(14)行扁平化
16.應用
(1)替換NULL值
(2)寫日誌(調試時使用)
17.流程
(1)Switch-case流程就是轉換裏面的第六個分裂   (一路到多路)
流程主要用來控制數據流程和數據流向.
(2)過濾記錄  (一路到兩路)(if--else)
(3)空操作 空操作一般作爲數據流的終點
(4)中止 校驗數據時使用
18.查詢分類
查詢就是用來查詢數據源裏面的數據合併到主數據流中.
(1)HTTpClient
httpClient是使用get的方式提交請求,獲取返回頁面的內容


 

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