文章目录
数仓整体流程
大致流程: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汇总表
脚本准备
对应流程:sqoop_import -> ods_db -> dwd_db -> dws_db -> ads_db -> sqoop_export
最好将脚本放在hdfs上创建oozie工作流的lib目录下
创建工作流
1.创建工作流
2. 编辑工作流
这里就选择shell,直接把要执行的任务类型拖拽到下面指定的区域。
3.上传脚本
指定脚本的路径
4.添加文件
5.指定参数
一般脚本中都会指定时间分区,脚本中是 ${do_date}
6.指定执行oozie的时候使用的Hadoop用户
执行oozie的执行的时候Hadoop用户。这样他才能找到环境当中的Hadoop用户。
HADOOP_USER_NAME=${wf:user()}
其余的几个脚本全部按3,4,5步骤进行配置,如下
6.保存并运行
定时调度
1.创建定时计划(schedule)
2. 修改属性
修改定时任务名和描述
3. 添加任务
添加需要定时调度的任务
4. 设置调度时间
5.参数配置
配置脚本的参数可以改为一个动态变化的
填入相应参数,前一天日期
${coord:formatTime(coord:dateOffset(coord:nominalTime(), -1, 'DAY'), 'yyyy-MM-dd')}
6.保存
即可完成自动化调度