ETL工具-KETTLE教程實例實戰3----轉換(輸入、輸出)
歡迎關注筆者的公眾號: java大師, 每日推送java、kettle運維等領域干貨文章,關注即免費無套路附送 100G 海量學習、面試資源喲!!個人網站: http://www.javaman.cn/kettle/kettle-actual
一個作業相當於一次執行的全過程,而每個作業是由許多的轉換和作業組成,下面我們先跳過作業和數據庫連接直接先講抓換:
轉換同時也是有許多的各種控件組成,下面我們就先來介紹下常用控件的使用,再舉例說明下常用控件的使用:
一、轉換
1、輸入
1.1、表輸入:連接數據庫(oracle、mysql、DB2,infomix,sqlserver),根據sql語句查詢相關數據,放入數據流
具體步驟:按照上圖順序:1、配置數據庫連接;2、填入具體的sql語句;3、預覽查詢數據是否正確展示;4、點擊確定保存控件修改
預覽數據的數據內容。
1.2、JSON輸入:讀取文件中的Json數據,放入數據流,該數據流支持寫入數據庫表和文件
js文件如上圖,3個對象,包含id、name、sex和age
雙擊打開json輸入,如上圖所示添加文件,選擇字段后,點擊確定即可導入json數據,轉換為具體的表數據流,點擊預覽可以看到轉換后的具體數據,如下圖:
1.3、JSON輸入:讀取文件中的xml報文數據,寫入數據流,該數據流支持寫入數據庫表和文件
雙擊打開xml文件輸入,如上圖所示添加文件,選擇字段后,點擊確定即可導入xml報文數據,轉換為具體的表數據流,點擊預覽可以看到轉換后的具體數據,該數據可以寫入文件或數據庫表
1.4、文本文件輸入:讀取文本文件中的據,寫入數據流,該數據流支持寫入數據庫表和文件
雙擊打開文本文件輸入,如上圖所示添加文件,選擇字段后,點擊確定即可導入txt數據,轉換為具體的表數據流,點擊預覽可以看到轉換后的具體數據,該數據可以寫入文件或數據庫表
2、輸出
2.1、EXCEL輸出:將數據流中的文件輸出到EXCEL
此處用到兩個控件,文本文件前面說過,可以觀看前面的內容。選擇excel輸出后,按住shift鍵,連接兩個控件(HOP連線)。
雙擊打開EXCLEL輸出,如上圖所示添加文件,選擇字段后,點擊確定即可導出excel數據,Integer數據的格式要選擇0,為整型,不然導出的id為1.00,帶出的文件內容如下:
2.2、XML文件輸出:將數據流中的文件輸出到XML中
此處用到兩個控件,文本文件前面說過,可以觀看前面的內容。選擇excel輸出后,按住shift鍵,連接兩個控件(HOP連線)。
雙擊打開XML文件輸出,如上圖所示添加文件,選擇字段和該字段是元素還是屬性后,點擊確定即可導出XML,Integer數據的格式要選擇0,為整型,不然導出的id為1.00
2.2、JSON文件輸出:將數據流中的文件輸出到XML中
雙擊打開JSON輸出,如上圖所示填寫XPATH,選擇字段后,點擊確定即可導出json數據。
2.3、刪除:此處不再贅述,后面講解執行sql腳本比刪除更方便
2.4、SQL文件輸出:此處不再贅述,PLSQL、TOAD,NATIVE等IDE工具導出會更加方便
2.4、表輸出:將數據流中的文件輸出到數據庫的具體表中
此處用到兩個控件,文本文件前面說過,可以觀看前面的內容。選擇表輸出后,按住shift鍵,連接兩個控件(HOP連線)。
雙擊打開表輸出,如上圖所示配置好數據庫,選擇具體的表,執行轉換,即可插入具體的數據庫表。運行結果如下:
2.4、表輸出:將數據流中的文件輸出到數據庫的具體表中
雙擊打開插入/更新,如上圖所示配置好數據庫,選擇具體的表,按照1-3步驟配置,執行轉換,即可插入/更新具體的數據庫表。
**讀取上個步驟的數據,放入數據流中,ID相同會執行更新操作,ID不存在會執行插入操作
在這給大家介紹完了,轉換中常用的輸入輸出,通過上述介紹可以看到,kettle功能十分強大,可以直接讀取文本、JSON和XML數據,與數據庫做交互等。這還只是KETTLE的很小一部分功能。
注意:因某些限制,最新源代碼和后續通用配置實現數據抽取 已放置在筆者公眾號上,請關注微信公眾號: 【JAVA大師】, 回復關鍵字:【KETTLE】,獲取kettle安裝程序和運行實例(表結構和kjb、ktr文件)。
同時筆者原創了一套視頻教程:現免費發放100套,先到先得。獲得方法:掃描下方二維碼,關注獲得