前言:
Kettle是一款國外開源的ETL工具,純java編寫,能夠在Window、Linux、Unix上運行,數據抽取高效穩定。Kettle家族目前包括4個產品:Spoon、Pan、CHEF、Kitchen。本次介紹的是其中的一款產品「Spoon」,Spoon容許你經過圖形界面來設計數據轉換過程。html
Kattle- Spoon下載地址(綠色硬盤版解壓即用):java
JDK1.8版本下載地址(注:Kattle僅支持1.8以上JDK):數據庫
WINDOWS環境變量配置:工具
爲何咱們要使用Kettle?
咱們在平常工做中,常常會遇到一種場景,那就是須要將一些數據批量的Insert到數據庫表中,這篇文檔就是基於這個操做來寫的,咱們不用Kettle的話,面對這種批量插入的操做,有這麼幾種方法:spa
批量編寫insert語句設計
直接for update,從excel裏面複製粘貼到plsql中日誌
第二種方法你們確定經常使用的,可是這種操做,少許的數據(2000條之內)效率還能夠,一旦成千上萬,甚至10w+級別的數據,期望for update有很好的表現,基本上是不可能的,基本上都會等個30分鐘以上,若是DB遇上忙時,這個操做時間就更慢了。而且for update的操做,從Oracle的角度講,至關於打開了一個事務,長時間的不關閉保持對錶操做,很容易由於長事務引發鎖表,咱們今天介紹的Kettle,能達到什麼效果呢?那就是一次性對一張表導入10w條數據,只須要短短的25s,學會靈活使用Kettle,就能讓你的效率獲得不同的提高。
使用方法:
打開Kattle文件夾下Spoon.bat
點擊文件-新建-轉換,新建一個轉換做業
頁面左側選擇輸入源(如EXCEL輸入),用鼠標點擊拖動到右側轉換區
頁面左側選擇輸出源(如表輸處),用鼠標點擊拖動到右側轉換區
點擊‘表輸出’圖標,選擇輸入方向,將兩個圖標鏈接起來
雙擊‘EXCEL輸入’,配置EXCEL輸入方式
在表格類型處選擇EXCEL格式
點擊【瀏覽】選擇EXCEL文件
選擇好文件後,點擊【增長】,該文件即出如今選中的文件中
切換到‘工做表’頁面,點擊【獲取工做表名稱】,選擇數據所在SHEET頁
切換到‘字段’頁面,點擊【獲取來自頭部數據的字段】,便可獲取SHEET頁中第一行的字段名
點擊【肯定】結束EXCEL配置
雙擊【表輸出】進入數據庫表配置頁面
點擊【新建】進入數據庫連接配置頁面
在配置頁面依次輸入
鏈接名稱:任意填寫
主機名稱:數據庫IP
數據庫名稱:ORA配置文件中的‘SID’
端口號:數據庫端口號
用戶名:數據庫登陸名
密碼:數據庫登陸密碼
點擊【測試】,查看數據庫是否能正常鏈接,而後點擊【肯定】,完成數據庫配置
在‘目標表’處輸入須要導入數據的數據庫表名稱,並勾選‘指定數據庫字段’
切換到‘數據庫字段’頁面,點擊【獲取字段】,便可獲取導入表的字段
調整表字段(數據庫表)和流字段(EXCEL字段)的對應關係,而後單擊【肯定】,結束配置
點擊頁面上箭頭或者按鍵盤上F9鍵,開始導入工做配置
點擊【啓動】,正式開始導入
在‘執行結果’處能夠看到數據導入狀況,若是提示錯誤,能夠在‘日誌’頁面查看錯誤緣由
導入成功後如圖
- 10個字段的表,建議一次性導入數據在10W左右,若是一次導入數據過多,會致使軟件緩存不足,導入失敗