用Kettle從excel中將導入oracle數據庫的簡單方法

前言:
Kettle是一款國外開源的ETL工具,純java編寫,能夠在Window、Linux、Unix上運行,數據抽取高效穩定。Kettle家族目前包括4個產品:Spoon、Pan、CHEF、Kitchen。本次介紹的是其中的一款產品「Spoon」,Spoon容許你經過圖形界面來設計數據轉換過程。html

Kattle- Spoon下載地址(綠色硬盤版解壓即用):java

https://pan.baidu.com/s/1hrIxGd2sql

JDK1.8版本下載地址(注:Kattle僅支持1.8以上JDK):數據庫

https://pan.baidu.com/s/1kUIr6cv緩存

WINDOWS環境變量配置:工具

http://jingyan.baidu.com/arti...測試

爲何咱們要使用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左右,若是一次導入數據過多,會致使軟件緩存不足,導入失敗

相關文章
相關標籤/搜索