本文介绍基于数据开发功能,快速实现常见的报表分析诉求的操作步骤。

背景信息

说明 如下最佳实践基于数仓开发(老)功能进行操作,但该功能已下线,不适用新版数仓开发功能。详细信息,请参见 【通知】下线任务编排(老)和数仓开发(老)功能

逐步成长的企业,离不开报表的需求,常见的报表场景有:

  • 向老板汇报业务的运营状况、业绩。
  • 数据分析师按不同维度分析业务场景,挖掘业务的增长点。
  • 业务系统统计业务的汇总情况,如电商系统统计每日营收额,物流系统统计每日运单量等。

目前,经过多年的“大数据”洗脑,以上的需求往往被分发到大数据平台上做处理。但是如今,利用DMS中的数仓开发一样可以完成。

功能优势

使用DMS中的 数仓开发做报表开发有如下优势:
  • 线上线下统一管理。即业务库和分析库都在DMS中管理,无需另外跳转到大数据平台。
  • 灵活切换分析引擎。根据不同的业务数据规模,自由选择DMS支持的数据库作为分析库,从小规模GB级的RDS到大规模PB级的ADB足以满足大部分场景的分析。
  • 权限统一、数据安全。

准备工作

  • 准备分析的业务库(这里采用TPCH的样例数据举例)。
  • 通过权限申请模块,申请业务库的导出权限、分析库(这里采用RDS)的变更权限,字典信息需要查询权限。
  • 创建任务流tpch_report。

步骤一:同步业务库的表到分析库

以使用跨库Spark SQL任务实现同步业务库的表到分析库操作举例。跨库的更多信息,请参见跨库查询

创建跨库Spark SQL任务

  1. 登录数据管理DMS 5.0
  2. 在顶部菜单栏中,选择集成与开发(DTS) > 数据开发 > 数仓开发(老)
  3. 在数仓开发首页选择目标项目空间,单击进入空间
    说明 若您还未创建项目空间,请创建 数仓项目后再进行之后的操作。
  4. 创建跨库Spark SQL任务。
    1. 在画布左侧任务类型列表中,拖拽跨库Spark SQL节点到画布空白区域。
    2. 右键单击跨库Spark SQL节点,选择重命名,修改节点名称。
      此处修改为示例名称table_sync。
      说明 单击画布空白区域,名称即可保存。
      创节点
  5. 通过跨库Spark SQL拷贝数据。
    1. 双击table_sync节点。
    2. 选择引用的数据库,编写SQL语句。
      拷贝SQL
  6. 设置变量。
    1. 单击节点配置页面右侧的变量设置
    2. 选择任务流常量页签,配置变量名变量规则
      设置变量
  7. 单击页面上方的预览,查看替换变量后的SQL逻辑是否正确。
    替换后的SQl

步骤二:在分析库做统计分析

统计每日订单的下单客户数、订单数、订单总额。

  1. 创建单实例SQL任务。
    1. 在画布左侧任务类型列表中,拖拽单实例SQL到画布空白区域。
    2. 右键单击单实例SQL,选择重命名,修改节点名称。
      此处修改的示例名称为daily_orders。 danshiliSQl
  2. 选择分析库,创建统计表daily_orders_summary,编写统计逻辑SQL。
    说明 编辑完成,系统自动保存。
    单实例SQl

联合lineitem表,统计每日订单的配件数、优惠总额、税总额。

步骤三:同步结果汇总表到业务库或BI库

使用跨库Spark SQL任务的操作步骤,可参见步骤一:同步业务库的表到分析库

设置DAG图中的任务关系

将任务节点连接起来。

设置关系

调度配置

  1. 在任务编辑页面下方,单击任务流信息
  2. 调度配置区域,打开开启调度开关,配置调度类型生效时间等信息。
    peizhidiaodu

运行任务流并查看执行状态

运行任务流

在画布页面,单击上方的 试运行,即可运行任务流,测试任务的正确性。
  • 如果执行日志的最后一行出现status SUCCEEDED,表明任务试运行成功。
  • 如果执行日志的最后一行出现status FAILED,表明任务试运行失败,在执行日志中查看执行失败的节点和原因,修改配置后重新尝试。

查看任务的执行状态

单击画布右上方前往运维,在任务流运维页面查看。

  • 在任务流运维页面上方,查看任务流的创建时间修改时间调度配置情况等基本信息。
  • 单击运行记录页签,选择调度触发手动触发,查看任务流运行记录。
    说明
    • 调度触发:通过调度或指定时间的方式运行任务流。
    • 手动触发:通过手动单击试运行的方式运行任务流。
    • 单击状态列前的加,查看任务流运行日志。
    • 操作列中,单击执行历史,查看任务流的操作时间操作人员操作内容
    • 操作列中,对不同执行状态的任务流进行终止重跑暂停恢复置成功的操作。
      说明
      • 对于执行成功的任务流,可以进行重跑操作。
      • 对于执行失败的任务流,可以将该任务流运行记录的状态置为成功。
      • 对于执行中的任务流,可以终止或暂停任务流运行。
  • 单击发布列表页签,查看任务流的版本ID发布人发布时间等信息。