最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

Kettle學習筆記(二):作業(yè)和定時

2022-12-03 15:21 作者:月光神楊新羽  | 我要投稿

一、任務

下面來說一下Kettle里的另一類設計模式,作業(yè)(Job)。作業(yè)里的主對象樹和核心對象基本如下。

核心對象看起來很多,但是比較基礎(chǔ)的主要就是通用中的Start、轉(zhuǎn)換、成功等,還可以通過郵件進行郵件發(fā)送,將作業(yè)中的日志發(fā)送至郵箱方便進行監(jiān)控。這里可以看出的是,作業(yè)是可以相互嵌套的。

我的典型用法就是start+轉(zhuǎn)換+成功。這里的轉(zhuǎn)換,就是數(shù)據(jù)流的核心,轉(zhuǎn)換可以添加多個,用以進行多個表的數(shù)據(jù)同步。

在作業(yè)中,對轉(zhuǎn)換組件右鍵,會顯示編輯作業(yè)入口,這里編輯作業(yè)入口可以關(guān)聯(lián)之前已經(jīng)制作好的轉(zhuǎn)換,這里的Open Referenced Object,可以直接跳轉(zhuǎn)到已經(jīng)關(guān)聯(lián)好的轉(zhuǎn)換里。

編輯作業(yè)入口


二、定時

上面說完了作業(yè)的基本設置,作業(yè)相對轉(zhuǎn)換是較為簡單的,因為核心業(yè)務都在轉(zhuǎn)換里。下面來說說關(guān)于定時,因為業(yè)務數(shù)據(jù)需要定時進行同步。

作業(yè)的Start本身提供了定時功能,但是卻不夠?qū)嵱?。原因在于要保持Kettle始終處于啟動狀態(tài),這樣Kettle一直保持啟動一方面浪費會服務器資源,另一方面Kettle一旦程序崩潰,那么定時更新就會被破壞,不論從哪方面講,都不夠穩(wěn)定。

Kettle自帶的定時作業(yè)

那么我們怎么辦呢?解決方案是使用shell腳本,利用Linux定時任務來解決這個問題。


這里要說以一下,Kettle提供了四大核心組件:

1)Spoon是Kettle圖形化界面開發(fā)的啟動腳本,在Linux運行spoon.sh啟動,在windows上則運行Spoon.bat進行啟動。下面三個命令皆是如此(.sh和.bat的區(qū)別)?!禟ettle服務器部署相關(guān)問題》說過了,如果在Linux上運行,一定要安裝圖形界面。

2)Pan是Kettle下用來執(zhí)行轉(zhuǎn)換的腳本。

3)Kitchen是Kettle下用來執(zhí)行作業(yè)的腳本。

4)Carte是一個輕量級容器,用于建立ETL Server。


Kettle這里為我們提供了不需要啟動圖形界面直接執(zhí)行轉(zhuǎn)換和作業(yè)的Pan和Kitchen。我們轉(zhuǎn)換保存的文件為xxx.ktr,作業(yè)的保存文件為xxx.kjb。這里有一個點,其實可以不生成ktr和kjb文件,將數(shù)據(jù)直接保存進數(shù)據(jù)庫,這里暫時不做贅述了。

我們需要創(chuàng)建一個xxx.sh的腳本文件,里面寫什么呢?

這段腳本的意思是,啟動在/root/Kettle/路徑下的kitchen.sh腳本文件,這個kitchen實際執(zhí)行的文件為在/root/Kettle/project/路徑下名為1.kjb的作業(yè)文件,然后把日志信息輸出到/root/Kettle/project/路徑下的1.log中(日志信息的輸出是十分必要的,便于監(jiān)控)。到此,我們完成了執(zhí)行腳本xxx.sh的制作。


接下來就是設置Linux的定時任務。

crontab -e可以進行任務設置,進入編輯模式,編輯完成后保存退出,跟vim的操作一致。這里要詳細說的是定時任務這一行,* * * * *分為對應分 時 日 月 周,統(tǒng)一按這5個維度進行定時,一行一個定時任務,后面/root/Kettle/xxx.sh是要執(zhí)行的腳本文件的位置。我這里的0 */1 * * *的意思就是每小時執(zhí)行一次,執(zhí)行時間為每小時0分鐘。如果第一位默認*就是保存這個任務的時間,每小時執(zhí)行一次。這塊感興趣的朋友可以詳細研究。


到這里,Kettle的作業(yè)和定時相關(guān)的內(nèi)容就說完了。越使用越發(fā)現(xiàn)Kettle功能的強大。

Kettle學習筆記(二):作業(yè)和定時的評論 (共 條)

分享到微博請遵守國家法律
开化县| 全椒县| 林甸县| 定襄县| 通化市| 方城县| 钟山县| 资溪县| 咸宁市| 竹北市| 民县| 石狮市| 同仁县| 秦皇岛市| 咸丰县| 崇仁县| 长宁县| 台江县| 苍南县| 苏尼特左旗| 罗源县| 万年县| 涟源市| 长乐市| 呼伦贝尔市| 南宫市| 涡阳县| 通许县| 衡水市| 哈密市| 宽甸| 于田县| 沂水县| 山西省| 新乡县| 仁怀市| 崇左市| 克东县| 隆林| 吉林省| 台北县|