现在整个数据仓库的流程已经打通,并且所有脚本也已经封装完成。但从业务数据库抽取数据,一般选择在夜间进行,而且数据仓库的整个处理流程是有先后关系的,所以需要使用自动化调度工具来进行定时、控制依赖关系。
现使用 Azkaban 作为数据仓库的调度工具。接下模拟新一天的数据生成,并使用 Azkaban 完成整个数据处理过程的自动调度。
测试数据生成
在 Node02,即 MySQL 安装节点中执行 SQL,生成新一天的数据
mysql -uroot -pDBa2020*
use mall;
CALL init_data('2020-06-12',300,200,300,FALSE);
编写 Azkaban Job
因为 Azkaban 可以通过 Web 界面来进行作业调度,所以,Azkaban 的 Job 文件需要在本地计算机中编写。
Azkaban 运行的 Job,包括 import.job、ods.job、dwd.job、dws.job、ads.job、export.job;之后需要使用工具打包成压缩文件。
文件内容如下:
import.job
type=command
do_date=${dt}
command=/home/warehouse/shell/sqoop_import.sh all ${do_date}
ods.job
type=command
do_date=${dt}
dependencies=import
command&#