spoon mysql教程_kettle 教程(一):简介及入门
介紹
kettle 是純 java 開發(fā),開源的 ETL工具,用于數(shù)據(jù)庫間的數(shù)據(jù)遷移 。可以在 Linux、windows、unix 中運(yùn)行。有圖形界面,也有命令腳本還可以二次開發(fā)。
安裝
這邊以 windows 下的配置為例,linux 下配置類似。
jdk 安裝及配置環(huán)境變量
由于 kettle 是基于 java 的,因此需要安裝 java 環(huán)境,并配置 JAVA_HOME 環(huán)境變量。
建議安裝 JDK1.8 及以上,7.0以后版本的 kettle 不支持低版本 JDK。
下載 kettle
從 官網(wǎng) 下載 kettle ,解壓到本地即可。
下載相應(yīng)的數(shù)據(jù)庫驅(qū)動(dòng)
由于 kettle 需要連接數(shù)據(jù)庫,因此需要下載對(duì)應(yīng)的數(shù)據(jù)庫驅(qū)動(dòng)。
例如 MySQL 數(shù)據(jù)庫需要下載 mysql-connector-java.jar,oracle 數(shù)據(jù)庫需要下載 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è)步驟,步驟之間通過跳(hop)來連接。跳定義了一個(gè)單向通道,允許數(shù)據(jù)從一個(gè)步驟流向另一個(gè)步驟。在Kettle中,數(shù)據(jù)的單位是行,數(shù)據(jù)流就是數(shù)據(jù)行從一個(gè)步驟到另一個(gè)步驟的移動(dòng)。
1、打開 kettle,點(diǎn)擊 文件->新建->轉(zhuǎn)換。
2、在左邊 DB 連接處點(diǎn)擊新建。
3、根據(jù)提示配置數(shù)據(jù)庫,配置完成后可以點(diǎn)擊測(cè)試進(jìn)行驗(yàn)證,這邊以 MySQL 為例。
4、在左側(cè)找到表輸入(核心對(duì)象->輸入->表輸入),拖到右方。
5、雙擊右側(cè)表輸入,進(jìn)行配置,選擇數(shù)據(jù)源,并輸入 SQL。可以點(diǎn)擊預(yù)覽進(jìn)行預(yù)覽數(shù)據(jù)。
6、在左側(cè)找到插入/更新(核心對(duì)象->輸出->插入/更新),拖到右方。
7、按住 Shift 鍵,把表輸入和插入/更新用線連接起來。
8、雙擊插入/更新進(jìn)行配置。
9、點(diǎn)擊運(yùn)行,就可以運(yùn)行這一個(gè)轉(zhuǎn)換。
10、運(yùn)行結(jié)束后,我們可以在下方看到運(yùn)行結(jié)果,其中有日志,數(shù)據(jù)預(yù)覽等,我們可以看到一共讀取了多少條數(shù)據(jù),插入更新了多少數(shù)據(jù)等等。
這樣就完成了一個(gè)最簡(jiǎn)單的轉(zhuǎn)換,從一個(gè)表取數(shù)據(jù),插入更新到另一個(gè)表。
作業(yè)
如果想要定時(shí)運(yùn)行這個(gè)轉(zhuǎn)換,那么就要用到作業(yè)。
1、新建一個(gè)作業(yè)。
2、從左側(cè)依次拖動(dòng) START 、轉(zhuǎn)換、成功到右側(cè),并用線連接起來。
3、雙擊 START,可以配置作業(yè)的運(yùn)行間隔,這邊配置了每小時(shí)運(yùn)行一次。
4、雙擊轉(zhuǎn)換,選擇之前新建的那個(gè)轉(zhuǎn)換。
5、點(diǎn)擊運(yùn)行,就能運(yùn)行這次作業(yè),點(diǎn)擊停止就能停止。在下方執(zhí)行結(jié)果,可以看到運(yùn)行的日志。
這樣就完成了一個(gè)最簡(jiǎn)單的作業(yè),每隔1小時(shí),將源表的數(shù)據(jù)遷移到目標(biāo)表。
總結(jié)
kettle 是一個(gè)非常強(qiáng)大的 ETL 工具,通過圖形化界面的配置,可以實(shí)現(xiàn)數(shù)據(jù)遷移,并不用開發(fā)代碼。
通過它的作業(yè),kettle 能自動(dòng)地運(yùn)行轉(zhuǎn)換。
總結(jié)
以上是生活随笔為你收集整理的spoon mysql教程_kettle 教程(一):简介及入门的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HMM、MEMM、CRF模型的比较
- 下一篇: spring boot+Quartz+数