一、輸入步驟概述
輸入步驟主要分為以下幾類:
• 生成記錄/自定義常量
• 獲取系統信息
• 表輸入
• 文本文件輸入
• XML 文件輸入
• Json輸入
• 其他輸入步驟
二、生成記錄和自定義常量
1.生成記錄
由於生成記錄每行都是一樣的數據,所以便誕生了自定義常量數據來手工模擬數據
2.自定義常量數據
常用於構造一些測試數據
三、獲取系統信息
獲得各類系統信息,常見的包括:
• 轉換開始時間。
• 關鍵時間點信息
• 最多十個命令行參數
• 主機名/ip/進程號/虛擬機內存等
• 上一個作業的完成情況參數
// 固定是整個轉換開始的時間
更多系統信息細節,參考相關文檔
四、表輸入
表輸入是比較常見的輸入方式,通過執行SELECT語句,從數據庫拉取輸入數據
可以使用${}形式使用變量,如果使用?變量,要求前面步驟傳過來的參數需要順序一致
示例表輸入配置如下:(按住shift進行組件連接)
數據庫連接時可能會出現驅動不存在,需要復制mysql-connector到lib目錄下
(如果kettle重裝等可能會出現配置讀取沖突等問題,可以在C:/用戶/xx/.kettle下)
推薦使用JDNI方式進行連接:https://www.cnblogs.com/mq0036/p/9238646.html
JNDI方式有時候稍顯不直觀,可以通過統一數據源管理的方式:在主對象樹DB連接下新建連接(新建轉換后即可看到),然后右鍵->共享即可!
配置變量輸入:
數據類型對應關系:
五、文本文件輸入
文本文件輸入:
處理有列分隔符(限定符、逃逸字符)的文本文件。
功能選項豐富、有錯誤處理機制。
CSV 文件輸入:
簡化了文本文件輸入
通過 NIO、並行、延遲轉換提高性能
固定寬度:
列固定寬度的文件,不用解析字符串,性能好。
1.文本文件輸入
先看文件這一項:
雙擊文件節點進入編輯,直接點擊瀏覽進行選擇不是很推薦,
推薦使用變量(凡是旁邊一個$形狀的,都可以根據提示使用變量,內置變量參考這里),單擊變量,旁邊會顯示變量的值,可以進行參考
可以在第一行選擇文件或者目錄,選擇目錄則可以在規則表達式進一步通過正則進行控制
然后點擊增加,增加文件到選中的文件框中,之后點擊顯示文件名進行文件選擇結果查看
也可以點擊下方從步驟選擇文件
繼續設置輸入的內容頁:
// 這里目前不知何解,設置制表符\t字段會識別失敗。換成分號;等就正常了
解決方案如下:
使用sublime先安裝hexVIew插件,使用插件,點擊toggle查看制表符的十六進制,然后分隔符處通過$[],例如制表符查看是09;
則分隔符為:$[09]
字段頁通過獲取字段查看分割結果:預覽記錄查看記錄結果
錯誤處理頁可以進行相關設置:
過濾頁可以進行字段過濾:
例如選擇第二列(從0開始位置),含有bb的
2.固定寬度
要求每一行都是固定寬度,然后通過寬度截取
### XML輸入暫不贅述
### JSON輸入暫不贅述
六、其它輸入
Excel 輸入
Access 輸入
配置文件輸入
SAP 輸入
Oracle CDC 增量輸入
消息隊列輸入
PDF文件輸入
搜索引擎結果輸入
可參考:https://www.cnblogs.com/LXL616/p/10842111.html