kettle 教程

kettle 是純 java 開(kāi)發(fā),開(kāi)源的 ETL工具,用于數(shù)據(jù)庫(kù)間的數(shù)據(jù)遷移 ??梢栽?Linux、windows、unix 中運(yùn)行。有圖形界面,也有命令腳本還可以二次開(kāi)發(fā)

kettle 的官網(wǎng)是 https://community.hitachivantara.com/docs/DOC-1009855,github 地址是 https://github.com/pentaho/pentaho-kettle

安裝
由于 kettle 是基于 java 的,因此需要安裝 java 環(huán)境,并配置 JAVA_HOME 環(huán)境變量,建議安裝 JDK1.8 及以上,7.0以后版本的 kettle 不支持低版本 JDK。
下載相應(yīng)的數(shù)據(jù)庫(kù)驅(qū)動(dòng)

由于 kettle 需要連接數(shù)據(jù)庫(kù),因此需要下載對(duì)應(yīng)的數(shù)據(jù)庫(kù)驅(qū)動(dòng),例如 MySQL 數(shù)據(jù)庫(kù)需要下載 mysql-connector-java.jar,oracle 數(shù)據(jù)庫(kù)需要下載 ojdbc.jar。下載完成后,將 jar 放入 kettle 解壓后路徑的 lib 文件夾中即可

注意:本文基于 pdi-ce-7.0.0.0-25 版本進(jìn)行介紹,低版本可能有區(qū)別。
啟動(dòng)
雙擊 Spoon.bat 就能啟動(dòng) kettle 。
轉(zhuǎn)換
轉(zhuǎn)換包括一個(gè)或多個(gè)步驟,步驟之間通過(guò)跳(hop)來(lái)連接。跳定義了一個(gè)單向通道,允許數(shù)據(jù)從一個(gè)步驟流向另一個(gè)步驟。在Kettle中,數(shù)據(jù)的單位是行,數(shù)據(jù)流就是數(shù)據(jù)行從一個(gè)步驟到另一個(gè)步驟的移動(dòng)。
  1. 打開(kāi) kettle,點(diǎn)擊 文件->新建->轉(zhuǎn)換


    image
  2. 在左邊 DB 連接處點(diǎn)擊新建


    image
  3. 根據(jù)提示配置數(shù)據(jù)庫(kù),配置完成后可以點(diǎn)擊測(cè)試進(jìn)行驗(yàn)證,這邊以 MySQL 為例


    image
  4. 在左側(cè)找到表輸入(核心對(duì)象->輸入->表輸入),拖到右方


    image
  5. 雙擊右側(cè)表輸入,進(jìn)行配置,選擇數(shù)據(jù)源,并輸入 SQL??梢渣c(diǎn)擊預(yù)覽進(jìn)行預(yù)覽數(shù)據(jù)


    image
image
  1. 在左側(cè)找到插入/更新(核心對(duì)象->輸出->插入/更新),拖到右方


    image
  2. 按住 Shift 鍵,把表輸入和插入/更新用線連接起來(lái)


    image
  3. 雙擊插入/更新進(jìn)行配置


    image
  4. 點(diǎn)擊運(yùn)行,就可以運(yùn)行這一個(gè)轉(zhuǎn)換


    image
  5. 運(yùn)行結(jié)束后,我們可以在下方看到運(yùn)行結(jié)果,其中有日志,數(shù)據(jù)預(yù)覽等,我們可以看到一共讀取了多少條數(shù)據(jù),插入更新了多少數(shù)據(jù)等等


    image
  6. 這樣就完成了一個(gè)最簡(jiǎn)單的轉(zhuǎn)換,從一個(gè)表取數(shù)據(jù),插入更新到另一個(gè)表

作業(yè)
如果想要定時(shí)運(yùn)行這個(gè)轉(zhuǎn)換,那么就要用到作業(yè)
  1. 新建一個(gè)作業(yè)


    image
  2. 從左側(cè)依次拖動(dòng) START 、轉(zhuǎn)換、成功到右側(cè),并用線連接起來(lái)


    image
  3. 雙擊 START,可以配置作業(yè)的運(yùn)行間隔,這邊配置了每小時(shí)運(yùn)行一次


    image
  4. 雙擊轉(zhuǎn)換,選擇之前新建的那個(gè)轉(zhuǎn)換


    image
  5. 點(diǎn)擊運(yùn)行,就能運(yùn)行這次作業(yè),點(diǎn)擊停止就能停止。在下方執(zhí)行結(jié)果,可以看到運(yùn)行的日志


    image
  6. 這樣就完成了一個(gè)最簡(jiǎn)單的作業(yè),每隔1小時(shí),將源表的數(shù)據(jù)遷移到目標(biāo)表

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容