天天看點

大資料與機器學習:實踐方法與行業案例.2.4 作業排程

<b>2.4 作業排程</b>

<b></b>

排程工具用來對作業進行排程,通過etl工具建立的作業如果需要周期性運作,就需要使用排程工具來完成。排程工具是一個相對複雜的系統,尤其是在跨作業系統、跨應用平台的作業環境中更是如此。

在複雜的作業環境中,需要使用商用排程工具,目前國内使用較多的商用排程工具為control-m。該工具是bmc software提供的企業級集中作業排程管了解決方案,能夠集中管理跨平台、跨應用的生産控制和排程過程,是以适用于大型複雜的etl排程場景。

一些相對簡單的排程場景可以不使用專門的排程工具實作。比如,如果公司的作業環境全部是linux系統,則可以使用系統自帶的crontab進行排程。

例如,圖2-11中的作業配置為每日淩晨1點10分開始運作,那麼可以将代碼清單2-41的内容儲存在檔案run_trx_load_and_static.sh中。

代碼清單 2-41

kitchen.sh -rep=kettle_rep_test -job="z06837. analysis.trx_load_and_static"

-dir=/ -user=admin -pass=admin -level=basic

然後編輯linux系統的crontab檔案(通過crontab –e 指令),再在該檔案中加入如代碼清單2-42所示的内容。

代碼清單 2-42

10 01 * * * /home/queziyang/shell/run_trx_load_and_static.sh

crontab會在每天淩晨1點10分運作指定的腳本run_trx_load_and_static.sh,這樣便可以完成每日定時排程該etl作業。顯然,使用crontab排程作業,本身是沒有作業日志記錄的,這也是為什麼需要遵循etl作業日志規範的原因之一。