四十三、ETL工具的流程和应用
生活随笔
收集整理的這篇文章主要介紹了
四十三、ETL工具的流程和应用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1. Kettle的流程步驟和應用步驟
Kettle應用步驟的作用:用來轉換提供的一些工具類步驟。具體的內容包括:
- NULL值處理
- 如何啟動其他程序
- 日志功能
- 文件處理功能
2. 如何過濾數據
在Kettle工具中,可以通過Switch/case、過濾記錄和更具Java表達式完成數據的過濾。各自的特點包括:
- Switch/case按鈕
- 多路開關、可以實現一路到多路
- 支持日期、數值、字符串類型比較
- 過濾記錄按鈕
- 多路開關、支持一路到兩路
- 支持日期、數值、字符串比較,自定義嵌套的表達式等
- 根據Java表達式過濾記錄
- 多路開關,一路到兩路
- 直接手寫Java表達式,比過濾記錄更靈活,尤其在字符串的處理上
3. 如何處理不確定的數據行數
在Kettle工具中,可以通過檢測空流、識別流的最后一行和阻塞數據方式實現,各自的內容包括:
- 檢測空流:有則不通過,沒有則生成一個空行
- 識別流的最后一行:通過一個字段,標識出數據流里的最后一行
- 阻塞數據:除了最后一條,其他的數據行都不能過去
4. 如何把多來源數據行前后合并到一起
實現多來源數據行的前后合并,可以通過空操作、追加流和數據流優先級排序等方式。
- 空操作:多個來源,以自然順序合并
- 追加流:只能兩個來源,指定順序合并
- 數據流優先級排序:多個來源,指定順序合并
上面三個步驟都用于把多個來源的數據行,按照前后方式合并,類型 union。要求列名、列數、列類型相同。
5. 數據流的終點
在在Kettle工具中的流程步驟中,數據流的終點包括空操作、終止、復制記錄結果和設置變量等。
- 空操作:無效數據,類似垃圾箱
- 終止:如果有數據到此步驟,轉換會被強行停止,并報錯誤
- 復制記錄到結果:暫時保留在內存里的數據,供以后的轉換使用
- 設置變量:把字段值設置為變量:變量供以后轉換使用
6. 其他流程控制步驟
kettle流程步驟中還有哪些其他的流程控制步驟,各自有那些作用?
- 阻塞數據直到步驟都完成:需注意死鎖依賴問題
- 克隆行:復制相同的數據行
- 延遲行:每行數據之間等待一定的時間間隔
7. ETL工具Kettle的應用步驟
Kettle應用步驟的NULL值處理和如何啟動其他程序包括:
- NULL值處理
- 把NULL值變成指定的值
- 把指定的值變為NULL
- 如何啟動其他程序:
- 啟動本地程序:使用Java的Runtime
- 運行SSH命令:啟動遠程機器上程序
- 本地和遠程機都是Linux
- 要提前設置ssh-keygen
Kettle應用步驟的日志功能和文件處理功能包括:
- 日志功能的作用
- 在日志里記錄需要的信息
- 發送信息至日志系統:結合apache syslog
- 文件處理
- 文件編碼轉換
- 處理文件:文件的移動、刪除、復制等功能
總結
以上是生活随笔為你收集整理的四十三、ETL工具的流程和应用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 四十二、ETL工具Kettle的转换步骤
- 下一篇: 四十四、ETL工具的查询_连接和映射