You need to enable JavaScript to run this app.
导航

数仓建设

最近更新时间2024.04.02 17:35:49

首次发布时间2022.09.19 22:01:38

说明

通过数据集成任务,把ods和dim数据同步到LAS ods和dim内表,使用ods+dim数据经过逻辑加工任务dwd生成考生明细表,通过dwd指标汇总到dwm生成最终指标结果数据

1.数据流简图

图片

2.创建目录

  1. 使用demo02账号,从管理控制台进入【数据开发】界面,进行接下来的数据研发工作。
  2. 进入数据开发页面

    说明

    • 通过DataLeap数据开发内置常用的开发任务类型模板,将指引您通过七步,快速完成一个完整的数据开发流程,更多详情请点击数据开发流程引导查看
    • 导入数据->新建任务->编辑开发任务->任务调试运行->设置调度->提交发布->运维查看
    • 这里我们选择通过数据集成任务,将火山RDS mysq数据同步到LAS ODS、LAS DIM
    DataLeap数据开发内置了常用的LAS任务模板,您可自由通过
  3. 点击新建子目录
    图片
  4. 输入【离线任务开发】,确认无误,点击确定
  5. 在离线任务开发目录下,新建子目录ods、dim、dwd、dwm 4个子目录的创建

3 创建数据集成任务

3.1 配置ODS/DIM同步任务

3.1.1 新建任务

  1. 在ods目录后方点击新建任务
    图片
  2. 任务类型为离线数据集成,ods_exam_event_df
    图片
  3. 输入任务名称:ods_exam_event_df,确认无误,点击确定
  4. 选择数据源及目标的参数配置
    • 源端:
      • 数据源类型:MYSQL
      • 数据源名称:emr_rds_mysql
      • 数据表:exam_event_df
      • 分片字段:exam_id
      • 同步方式:数据库直连(默认)
    • 目标端:
      • 目标类型:LAS
      • 数据源名称:LAS_ODS
      • 数据表:exam_event_df
      • 分区设置:按数据格式yyyymmdd或yyyy-mm-dd填写分区内容
        图片
  5. 字段映射,点击自动添加,检查同步字段,确认符合预期
  6. 期望最大并发数,这里填写10个

3.1.2 调度配置

  1. 点击右侧调度设置-设置参数
    1. 执行频率:小时级
    2. 执行时间:全选
    3. 执行时刻:0 (可选0-59) 这里选择整点运行
  2. 确认数据集成资源组无误 private_res_workshop
  3. 依次点击保存,再点调试(运行成功后),提交上线
  4. 在实例下DB中预览下数据,显示已加载
    图片
  5. 使用相同方法,在dim文件夹下新建任务,将dim表同步到LAS
    1. 输入任务名称dim_student_info_df,确认无误,点击确定
    2. 选择周期按天调度,执行时间为每天早上6:00
    3. 确认数据集成资源组private_res_workshop
    4. 数据调试后,保存提交上线
    5. 透视数据,显示目标表加载完成

4 创建HSQL任务加工

4.1 创建dwd任务

说明

此章节将介绍如何通过数据开发新建目录以及HSQL任务,完成对LAS表加工,配置和发布
可查看关于数据开发的更多细节

4.1.1 新建任务

  1. 使用开发账户demo02,进入数据开发、在dwd文件夹目录后方点击新建任务
  2. 在弹出的新建任务框中,选择数据开发->LAS->LAS SQL任务
    图片
  3. 输入任务名称dwd_action_exam_detail_df,任务描述填写”将ODS和DIM数据加工写入到DWD",确认无误,点击确定
  4. 配置任务信息,编写LAS SQL 语句
    -- -- ********************************************************************
    -- Author: demo02
    -- CreateTime: 2022-08-10 00:57:00.000
    -- Description: 
    -- Update: Task Update Description
    -- ********************************************************************
    INSERT OVERWRITE TABLE dwd.dwd_action_exam_detail_df partition(date = '${date}')
    SELECT  a.exam_id,
            a.student_id,
            b.student_name,
            b.class_id,
            b.class_name,
            b.jk_code,
            b.school_id,
            b.school_name,
            b.grade_id,
            b.grade_name,
            a.subject_id,
            a.subject_name,
            a.exam_time,
            a.exam_score,
            is_test_school
    FROM    (
                SELECT  exam_id,
                        student_id,
                        exam_subject_id as subject_id,
                        case when exam_subject_id = 1 then '数学'
                            when exam_subject_id = 2 then '语文'
                            when exam_subject_id = 3 then '英语'
                            when exam_subject_id = 4 then '物理'
                            when exam_subject_id = 5 then '化学'
                            when exam_subject_id = 6 then '生物'
                            else '其他'
                        end as subject_name, 
                        exam_score,
                        exam_time
                FROM    ods.exam_event_df
                WHERE   date >= '${date}'
            ) AS a
    LEFT JOIN
            (
                SELECT  school_id,
                        school_name,
                        grade_id,
                        grade_name,
                        class_id,
                        class_name,
                        school_year,
                        jk_code,
                        student_id,
                        student_name,
                        is_test_school
                FROM    dim.student_info_df
                WHERE   date >= '${date}'
                and     school_year = 2021
            ) AS b
    ON      a.student_id = b.student_id
    

4.1.2 调度配置

  1. 点击右侧【调度设置】,执行时间设置成早上7点,选择直接回溯谨慎回溯(取决创建项目时初始化配置情况),因dwd表为加工后的核心数据,在任务需要重跑时,增加二次弹窗提醒确认。
    图片
  2. 点击右侧调度设置,选择或LAS公共队列
  3. 配置依赖关系,点击推荐依赖(也可以选择手动依赖),平台将自动推荐ods和dim作为依赖。
  4. 点击数据调试
  5. 点击提交调试
  6. 显示运行成功

4.1.3 预览数据

预览目标表数据,是否准确写入数据
小技巧:使用智能IDE功能,快速跳转至数据地图预览目标表数据
方法介绍:

  1. 鼠标指针悬浮于目标表
  2. windows按住control、Mac按住command
  3. 此时鼠标指针变成手抓形状,点击鼠标左键即可快速跳转
    图片
  4. 点击预览探查
    图片
  5. 显示数据已被写入

4.1.4 提交发布

  1. 点击提交上线

图片

  1. 点击确认提交
  2. 显示任务上线成功,上线成功后的任务图标将显示为绿色
  3. 点击【查看启动详情】将直接进入-离线任务运维
  4. 点击【设置运行监控】将直接进入-运行监控设置

4.2 创建dwm任务

4.2.1 新建任务

  1. 在dwm目录后方点击新建任务
  2. 在弹出的新建任务框中,选择数据开发->LAS SQL任务
  3. 输入任务名称dwm_action_exam_summary_df,确认无误,点击【确定】
  4. 配置任务信息,将dwd层数据计算写入到dwm层表dwm.dwm_action_exam_summary_df
    -- ********************************************************************
    -- Author: demo02
    -- CreateTime: 2022-08-10 10:30:18.000
    -- Description: 
    -- Update: Task Update Description
    -- ********************************************************************
    INSERT OVERWRITE TABLE dwm.dwm_action_exam_summary_df partition(date = '${date}')
    SELECT  class_id,
            max(class_name) class_name,
            school_id,
            max(school_name) school_name,
            grade_id,
            max(grade_name) grade_name,
            subject_id,
            max(subject_name) subject_name,
            count(DISTINCT student_id) AS total_student_cnt,
            sum(exam_score) total_score
    FROM    dwd.dwd_action_exam_detail_df
    WHERE   date >= '${date}'
    GROUP BY
            class_id,
            school_id,
            grade_id,
            subject_id
    

4.2.2 调度配置

  1. 点击右侧调度设置,选择或LAS公共队列
    图片
  2. 配置依赖关系,点击手动依赖,输入关键词dwd,找到dwd_action_exam_detail_df作为依赖。
    图片
  3. 选择周期按天调度,执行时间为每日早上8:00
  4. 依次点击【保存】和【调试】按钮
  5. 确认业务日期,点击提交
  6. 显示运行成功

4.2.3 预览数据

  1. 使用IDE快捷键跳转到数据地图
  2. 显示指标插入计算完成

4.2.4 提交发布

  1. 在浏览器开发窗口下,点击提交上线
    图片
  2. 显示任务上线完成