ETL转换工具 kettle——spoon 安装 使用
一、?kettle--spoon的安裝
kettle安裝官網https://sourceforge.net/projects/pentaho/files/Data%20Integration/
下載完解壓就好。然后按以下步驟使用即可。
二、使用
1、啟動
進入安裝路徑/data-integration下雙擊Spoon.bat,即可進入spoon的主頁面
?2、配置數據庫連接
這里配置Oracle數據庫。有注釋的必填,這樣將需要用到的數據庫連接好? 后續使用的時候就可以直接選擇了(當然也可以后續需要再編輯)
一般填寫完 要測試一下? ?如果測試不通過的話? 一般都是對應信息沒填對? 或者? 會提示Oracle驅動沒有檢測到? ?這個就需要下載對應的驅動放到對應的文件夾底下了
3、一個簡單的數據抽取(將一個表的數據抽取到另一個表內)?
文件--》新建--》轉換
? ? ? ?
? 創建完之后? 點擊核心對象? 選擇輸入—表輸入???;輸出--插入/更新? (都是點擊 拖過去右邊空白頁即可)
?
雙擊表插入:編輯SQL語句(決定了你要查詢出流里面的字段)? 數據庫連接選擇查詢對應的數據庫??
?確定之后,將表輸入連接到插入/更新? (相當于將查詢出來的數據流向右流給插入/更新操作選擇對應的數據流)
點擊表輸入然后點擊紅框(表示向右連接)并拉過來連接插入/更新
?
雙擊插入/更新? ?編輯? 選擇要插入數據的數據庫連接 和對應的表? ? ?
關鍵字比較(要插入的目標表字段和流里的字段就是表輸入查詢出來的字段? ?)? 相等的話就更新、不相等就插入(相當于? 根據這個字段比較? 如果表內已存在該數據? 就更新? 不存在則更新)
更新字段(就是? 比較之后更新操作的話? 要更新的字段? Y更新 N不更新)
?最后? ?點擊執行? ? 顯示這樣即表示成功? (轉換完成之后 可以去插入的數據表查驗).
4、一次性全量插入?
使用表輸出
點擊數據庫字段匹配目標表字段和流字段
(如果是工作過程中? 添加某字段映射的話? ?可以直接在插入字段里 手動添加即可)?
5、定時調度轉換
定時調度只能在流流程里面設置? 創建一個多個轉換流程也是這樣操作。
所以? ?新建一個作業:并在通用里面拖過來一個start和轉換(并連線)
雙擊轉換? 編輯轉換? 選中已做好的轉換要做定時任務的轉換?
雙擊start? ?可視化編輯是否需要定時? 定時周期為多少
設置完之后點確定? ?我的電腦屏幕小? 自動只顯示這個框? 沒有確定按鈕? 最后發現是需要拉大這個框框的
這樣? 一個定時任務就完成啦? !!!(定時任務設置完后也是要點擊執行才可以開啟任務的)
如果設置成不需要定時,且連接多個轉換? 這樣就相當于一個沒有定時的流程啦? 需要手動執行。??
?
6、使用全量輸入? 實現多次執行不會插入重復數據
(所以只能在在表輸入表輸出的最前面先清空將要插入的目標表)
所以我添加一個執行sq腳本
但是要注意的是:連接之后? 雙擊表輸入(連接? 會自動識別的前一步驟)
?
7、在kettle里面做一個錯誤處理:
點擊錯誤處理連接線? 編輯? 錯誤描述列名(寫自己創建的錯誤日志表中的錯誤描述的屬性)? ?這樣插入更新失敗的時候? 就會將錯誤信息也傳送到插入/更新2步驟中,最后根據插入/更新2步驟中設定插入到目標表
8、自動生成一個id時:
第一個表輸入
?第二個表輸入? 框出來的都是需要加上的(‘OK’=?是自帶的一個判斷 從前面傳過來要加上)
?第一步查詢出來的字段 會替換掉第二步的 ?
(‘OK’=?不能直接接在where后面? 所以在沒有其他的條件約束的話 就加一個1=1? 如上圖所上? ?一般是 AND?‘OK’=??)
總結
以上是生活随笔為你收集整理的ETL转换工具 kettle——spoon 安装 使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: vcpkg安装boost的一些问题,
- 下一篇: Nxlog日志过滤