使用任务调度框架Oozie调度业务数仓全流程。
目录
准备
1. 数仓流程说明
业务数仓整个流程大致分为六个阶段,每个阶段都依赖于上阶段的计算结果,所以必须要上阶段执行完成再执行下一阶段:
大致流程:
MySQL -> HDFS -> ODS -> DWD -> DWS -> ADS -> MySQL
具体流程:
1. MySQL业务通过Sqoop数据导入HDFS
2. 将HDFS数据导入Hive数仓ODS层
3. 将ODS数据简单清洗写入DWD层
4. 将DWD数据轻度汇总写入DWS层宽表
5. 将DWS层数据统计结果写入ADS层
6. 将ADS层数据通过Sqoop导出到MySQL汇总表
2. 脚本
提前已经把各部分任务写成shell脚本。
对应流程:
sqoop_import -> ods_db -> dwd_db -> dws_db -> ads_db -> sqoop_export
上传shell脚本到HDFS,自己指定位置即可
sudo -uhdfs hadoop fs -put /bin/oozie/* /user/bin/oozie/
3. JDBC
因为调度中需要使用sqoop导入导出MySQL,所以先将MySQL驱动mysql-connector-java-5.1.47.jar复制到hadoop、sqoop、
以及Oozie的HDFS目录下sqoop中,lib_20181213173721,这个是Oozie搭建时生成,各不相同
cp jdbc.jar /opt/cloudera/parcels/CDH/lib/hadoop/lib
cp jdbc.jar /opt/cloudera/parcels/CDH/lib/sqoop/lib
sudo -uhdfs hadoop fs -put jdbc.jar /user/oozie/share/lib/lib_20181213173721/sqoop
创建工作流
1. 创建工作流
2. 编辑工作流
选择Action操作,修改好<