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

数仓建设

最近更新时间2023.12.01 15:54:04

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

说明

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

1.数据流简图

alt

2.创建目录

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

说明

  • 通过DataLeap数据开发内置常用的开发任务类型模板,将指引您通过七步,快速完成一个完整的数据开发流程,更多详情请点击数据开发流程引导查看

  • 导入数据->新建任务->编辑开发任务->任务调试运行->设置调度->提交发布->运维查看

  • 这里我们选择通过数据集成任务,将火山RDS mysq数据同步到LAS ODS、LAS DIM

DataLeap数据开发内置了常用的LAS任务模板,您可自由通过

  1. 点击新建子目录

  1. 输入【离线任务开发】,确认无误,点击确定

  2. 在离线任务开发目录下,新建子目录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)点击右侧调度设置-设置参数

  • 执行频率:小时级

  • 执行时间:全选

  • 执行时刻:0 (可选0-59) 这里选择整点运行

2)确认数据集成资源组无误 private_res_workshop
3)依次点击保存,再点调试(运行成功后),提交上线
4)在实例下DB中预览下数据,显示已加载


  • 使用相同方法,在dim文件夹下新建任务,将dim表同步到LAS
    • 输入任务名称dim_student_info_df,确认无误,点击确定

    • 选择周期按天调度,执行时间为每天早上6:00

    • 确认数据集成资源组private_res_workshop

    • 数据调试后,保存提交上线

    • 透视数据,显示目标表加载完成


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. 此时鼠标指针变成手抓形状,点击鼠标左键即可快速跳转


1)点击预览探查

2)显示数据已被写入

4.1.4 提交发布

1)点击提交上线

2)点击确认提交
3)显示任务上线成功,上线成功后的任务图标将显示为绿色

点击【查看启动详情】将直接进入-离线任务运维
点击【设置运行监控】将直接进入-运行监控设置


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)显示任务上线完成