kettle使用:數(shù)據(jù)轉(zhuǎn)移到新數(shù)據(jù)庫

業(yè)務(wù)需求:新OA中有一份數(shù)據(jù)沒有,只能從舊OA中取, 于是我把數(shù)據(jù)備份到DW中,直接從DW中取數(shù)。

什么是kettle

Kettle是一款國外開源的ETL工具,純java編寫,可以在Window、Linux、Unix上運(yùn)行,數(shù)據(jù)抽取高效穩(wěn)定。
Kettle 中文名稱叫水壺,該項(xiàng)目的主程序員MATT 希望把各種數(shù)據(jù)放到一個壺里,然后以一種指定的格式流出。
官網(wǎng)下載

流程

一、 讀入數(shù)據(jù)

新建transformation (ctrl+n), steps里選擇Table input

, 并拖到圖中。



雙擊,彈出對話框,更改Step Name為 Read Data, 點(diǎn)擊Connection 后面的new, 彈出對話框,填入數(shù)據(jù)庫信息。測試成功后關(guān)閉。然后Connections選擇數(shù)據(jù)庫名字,如這里OLD_OA , 然后在SQL框里輸入SQL語句,基本語句已經(jīng)寫好,可以修改相應(yīng)內(nèi)容就好了。輸入完后可以點(diǎn)擊Preview預(yù)覽下內(nèi)容,這時會彈出輸入框要求輸入默認(rèn)行數(shù),保持默認(rèn)就好了。預(yù)覽信息確認(rèn)無誤后,可以關(guān)閉,點(diǎn)擊OK,這一步就是好了。
Step信息
輸入數(shù)據(jù)庫信息.png

預(yù)覽行數(shù)

預(yù)覽內(nèi)容

二、 寫入數(shù)據(jù)庫

其實(shí)整個過程和讀入數(shù)據(jù)類似,steps里選擇Table out

,并拖到圖中。
雙擊,修改Step name為 Write to Database, Connections 點(diǎn)擊new填入數(shù)據(jù)庫信息。這里要注意的是這里的數(shù)據(jù)是目標(biāo)數(shù)據(jù)庫,是要把信息存入的數(shù)據(jù)庫。修改相應(yīng)的信息,Connection里選擇剛剛的數(shù)據(jù)庫,Target schema為服務(wù)名, Target table寫入數(shù)據(jù)庫里未存在的表名。至此,好像除了點(diǎn)OK,都結(jié)束了。
table out

注意:這里有一個關(guān)鍵點(diǎn),一定要點(diǎn)擊sql,會出現(xiàn)一個sql語句,這里生成table的語句,然后點(diǎn)擊excut執(zhí)行,否則等下運(yùn)行tranformation的時候會報(bào)錯,表不存在

三、 連接steps

兩個steps建立好了,鼠標(biāo)按住read data 同時按信shift鍵拖動鼠標(biāo)到write to database,會有一條線出現(xiàn),這條線就是hops, 其實(shí)就是流程方向,雙擊的話會看到對話框,從read data 到write to database。


流轉(zhuǎn)方向

四、 運(yùn)行transformation

一切就緒,點(diǎn)擊運(yùn)行圖標(biāo),

對話框信息默認(rèn),直接點(diǎn)擊Run, transformation就如我們期待那樣正常運(yùn)行了。運(yùn)行結(jié)束,可以到目標(biāo)數(shù)據(jù)庫中查看,我們想要到數(shù)據(jù)已經(jīng)出現(xiàn)了。


運(yùn)行

后記

其實(shí)kettle非常強(qiáng)大,可以做的事情還有很多,數(shù)據(jù)的抽取,清洗,轉(zhuǎn)換,加載,我這時只是做了最基本的流轉(zhuǎn),其實(shí)直接用代碼寫也不會慢,但是可以做個示范,有興趣的朋友可以自己探索下。

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

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

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