文档首页 > > 快速入门> 步骤4:规范设计

步骤4:规范设计

分享
更新时间:2020/07/03 GMT+08:00

DAYU规范设计以关系建模、维度建模理论支撑,实现规范化、可视化、标准化数据模型开发,定位于数据治理流程设计落地阶段,输出成果用于指导开发人员实践落地数据治理方法论。

本章节为您介绍如何在DAYU平台的“规范设计”模块中实现数据的关系建模。

规范设计实施流程

DAYU规范设计的流程如下,图中基本概念的详细描述请参见《DAYU用户指南》中的规范设计概述

图1 规范设计流程
  • 数据调研

    本入门指南以某市出租车出行数据为例,统计某出租车供应商2017年度的总收入。我们首先需要创建一个原始表用于存储原始数据,还需要创建一个汇总表用于存储统计结果。为了统计某出租车供应商2017年度的总收入,需要根据出租车供应商的维度,统计原始数据中上车时间为2017年的记录的费用总和。

  • 主题设计

    在本入门示例中,我们将建立如下主题信息,具体操作请参见主题设计

    • 主题域分组:交通类型
    • 主题域:道路交通
    • 业务对象:出租车、出租车原始数据层
  • 流程设计

    本入门示例比较简单,采用关系建模的方法就可以了,故而省略了维度建模和流程设计的环节。在实际项目中,流程设计也是必不可少的环节。

  • 标准设计

    本入门示例不涉及。

  • 指标设计

    本入门示例未采用维度建模的方法,因此在规范设计中不涉及指标设计。但是,在本示例中,我们可以把出租车行程的总费用作为一个业务指标,在DAYU数据质量中对业务指标进行数据质量监控,当数据存在质量问题时,可以触发告警,具体操作请参见步骤6:数据质量监控

  • 模型设计

    根据规范设计流程,我们要基于现状自下而上进行模型设计,从而将需求落地。本示例模型设计的具体操作,请参见模型设计

    • SDI(Source Data Integration)贴源数据层

      使用DAYU数据集成,我们可以将源数据迁移到DAYU支持的数据湖中。在本示例中,我们已通过步骤2:数据集成完成数据迁移。之后,在DAYU规范设计中,我们可以通过逆向数据库功能将数据湖中的源数据表导入到关系模型中,从而可以对源数据进行数据治理和运营。

    • DWI(Data Warehouse Integration)数据整合层

      在本示例中,我们需要根据关系建模的方法设计以下关系表,DAYU规范设计提供了图形化操作界面,可以快速创建这些表。

      • 出租车供应商关系表:用于存储供应商ID、供应商名称等基础信息。
      • 付款方式关系表:用于存储付款方式ID、付款方式名称等基础信息。
      • 费率关系表:用于存储费率ID、费率名称等基础信息。
      • 出租车行程数据关系表:我们需要将原始数据经过数据清洗后,存入出租车行程数据关系表中。

        对于比较复杂的数据清洗过程,我们可以在DAYU数据开发中通过开发SQL脚本实现。对于比较简单的数据过滤,我们可以使用DAYU数据开发提供的ETL节点进行处理。

    • DWR(Data Warehouse Report)数据报告层

      DWI层和DWR层依据项目规格可以只存在一层。本示例业务比较简单,可以不用维度建模的方法。

  • DM(Data Mart)数据集市层

    我们需要创建一个汇总表用于存储出租车供应商的年度总收入。在本入门示例中,由于未使用维度建模的方法,年度总收入的汇总表是在DAYU数据开发中进行创建的,具体操作请参见步骤5:数据开发

添加审核人

在规范设计中,数据建模流程中的步骤都需要经过审批,因此,需要先添加审核人。只有DAYU管理员角色的用户才具有添加审核人的权限。

  1. 使用管理员角色的用户,登录DAYU控制台。找到已创建的DAYU实例,单击实例卡片上的“进入控制台”。然后,选择“空间管理”页签。

    图2 空间管理

  2. 在工作空间列表中,找到所需要的工作空间,单击“规范设计”,进入规范设计控制台。
  3. 在规范设计控制台,单击左侧导航树中的“配置中心”,进入相应页面后,选择“审核人管理”页签,然后单击“添加”按钮。
  4. 选择审核人(管理员或开发者),输入正确的电子邮箱和手机号,单击“确定”完成审核人添加。

    图3 添加审核人

  5. 根据需要,可以添加多个审核人。

主题设计

  1. 使用开发者角色的用户,登录DAYU控制台。找到已创建的DAYU实例,单击实例卡片上的“进入控制台”。然后选择“空间管理”页签。

    图4 空间管理

  2. 在工作空间列表中,找到所需要的工作空间,单击“规范设计”,进入规范设计控制台。
  3. 在规范设计控制台,单击左侧菜单栏的“主题设计”,进入相应页面后,单击“新建主题域分组”按钮创建主题域分组。

    图5 主题设计

    在弹出窗口中,按下图所示填写参数,然后单击“确定”完成主题域分组的创建。

    图6 新建主题域分组

  4. 在主题域分组列表中,单击已建好的主题域分组右侧的按钮新建主题域。

    图7 主题域分组

    在弹出窗口中,按下图所示填写参数,然后单击“确定”完成主题域的新建。

    图8 新建主题域

  5. 在主题域列表中,单击已建好的主题域右侧的按钮新建业务对象。

    图9 主题域

    在弹出窗口中,按下图所示填写参数,然后单击“确定”完成业务对象新建。

    图10 新建业务对象

    再新建一个业务对象,命名为“原始数据层”。

    图11 原始数据层

模型设计

  1. 在规范设计控制台,单击左侧导航树中的“关系建模”,如果当前未创建过关系模型,系统会弹出提示框,单击确认创建一个关系模型。

    图12 关系建模

    “新建模型”对话框中,配置如下参数,单击“确定”

    图13 新建模型

  2. 在左侧的关系模型树中,展开新建的关系模型,选中业务对象“原始数据层”,单击“逆向数据库”,通过逆向数据库,导入原始表。

    在执行逆向数据库之前,请先确保您已对所需逆向的数据库完成数据资产采集。数据资产采集的具体操作,请参见步骤3:数据资产采集

    图14 模型树

    “逆向数据库”窗口中,配置如下所示参数,然后单击“确定”。在本示例中选择全部数据表,您也可以选择部分所需要的表。

    图15 逆向数据库

    逆向数据库成功后,可在列表中查看导入的表:

    图16 查看表

  3. 请参照以下步骤,新建费率关系表。

    在关系模型树中,选中业务对象“出租车”,然后单击“新建”按钮。

    图17 新建表

    在新建表的“基本配置”Tab页中,配置如下:

    图18 费率表基本配置

    进入“表字段”Tab页,单击“新建”,在费率表中依次添加如下字段,配置完成后,单击“保存”

    图19 费率表字段

  4. 请参照以下步骤,新建付款方式关系表。

    1. 在关系模型树中,选中业务对象“出租车”,然后在右侧列表上方单击“新建”按钮,进入新建表页面。
    2. 在新建表的“基本配置”Tab页中,配置如下:
      图20 付款方式表基本配置
    3. 进入“表字段”Tab页,单击“新建”,在付款方式表中,依次添加如下字段,配置完成后,单击“保存”
      图21 付款方式表字段

  5. 请参照以下步骤,新建出租车供应商关系表。

    1. 在关系模型树中,选中业务对象“出租车”,然后在右侧列表上方单击“新建”按钮,进入新建表页面。
    2. 在新建表的“基本配置”Tab页中,配置如下:
      图22 出租车供应商表
    3. 进入“表字段”Tab页,单击“新建”,在出租车供应商表中,依次添加如下字段,配置完成后单击“保存”
      图23 出租车供应商表字段

  6. 请参照以下步骤,新建出租车行程数据关系表。

    1. 在关系模型树中,选中业务对象“出租车”,然后在右侧列表上方单击“新建”按钮,进入新建表页面。
    2. 在新建表的“基本配置”Tab页中,配置如下:
      图24 行程数据表基本配置
    3. 进入“表字段”Tab页,单击“新建”,在出租车行程数据表中,依次添加如表1所示的字段,添加完成后如图25所示。
      表1 行程数据表字段

      序号

      名称

      编码

      数据类型

      1

      供应商编号

      vendor_id

      字符类型(STRING)

      2

      付款方式代码

      payment_type

      字符类型(STRING)

      3

      费率代码

      rate_code

      字符类型(STRING)

      4

      上车时间

      tpep_pickup_datetime

      时间类型(TIMESTAMP)

      5

      下车时间

      tpep_dropoff_datetime

      时间类型(TIMESTAMP)

      6

      乘客人数

      passenger_count

      短整型(SMALLINT)

      7

      行驶距离

      trip_distance

      单精度(FLOAT)

      8

      存储转发标识

      store_fwd_flag

      字符类型(STRING)

      9

      上车地点

      PULocationID

      字符类型(STRING)

      10

      下车地点

      DOLocationID

      字符类型(STRING)

      11

      车费

      fare_amount

      单精度(FLOAT)

      12

      加收

      extra

      单精度(FLOAT)

      13

      MTA税

      mta_tax

      单精度(FLOAT)

      14

      手续费

      tip_amount

      单精度(FLOAT)

      15

      通行费

      tolls_amount

      单精度(FLOAT)

      16

      改善附加费

      improvement_surcharge

      单精度(FLOAT)

      17

      总车费

      total_amount

      单精度(FLOAT)

      图25 行程数据表字段

      对于出租车行程数据中的字段,您还可以执行以下操作,但是本示例未做相关设置。

      • 关联数据标准

        在新建表或编辑表时,进入“表字段”Tab页,在字段所在行的“数据标准”列,单击按钮可以选择一个数据标准与字段相关联。将字段关联数据标准后,表发布上线后,就会自动生成一个质量作业,每个关联了数据标准的字段会生成一个质量规则,基于数据标准对字段进行质量监控,您可以前往DAYU数据质量模块的“质量作业”页面进行查看。有关关联数据标准的更多信息,请参见物理模型设计中的新建表并发布

      • 添加标签

        标签是用户自定义的标识。添加标签后,您就可以在DAYU数据资产模块中通过标签搜索相关的数据资产。

        在新建表或编辑表时,进入“表字段”Tab页,在字段所在行的“标签”列,单击按钮可以添加标签,在弹出框中,您可以输入新的标签名称后按回车,也可以在下拉列表中选择已有标签。

      • 关联质量规则

        完成表的新建后,您可以在表中为字段关联质量规则,完成关联后,当表发布成功后,就会在DAYU数据质量中自动创建质量作业,如果当前表已经发布,则系统会自动更新质量作业。有关关联质量规则的更多信息,请参见关联质量规则

    4. 进入“关系”Tab页,通过新建关系设计表与表之间的关系。

      单击“新建”,依次新建出租车行程数据表与付款方式表之间的关系,以及新建出租车行程数据表和供应商表之间的关系,配置如下:

      图26 设置关系
    5. 接下来,进入“映射”Tab页,通过新建映射设计表的数据来源。
      • 如果表中的字段数据来源于不同的关系模型,您需要创建多个映射。在每个映射中,您只需要为来源于当前映射的字段设置源字段,其他字段可以不设置。
      • 如果表中的字段数据来源于同一个关系模型中的多个表,您可以新建一个映射。在该映射的“源表”中,您可以将多个表设置Join,然后再为表中的字段设置源字段。

      本示例只需要新建一个映射。单击“新建”,新建一个映射,如图27

      • 映射名称:新建映射时会自动生成,您也可以修改。
      • 来源模型:本示例选择“城市交通”。
      • 源表:本示例选择原始数据表“taxi_trip_data_temp”,出租车行程数据表的数据均来源于该原始数据表。
        图27 新建映射
      • 字段映射

        “字段映射”区域,依次为表中的字段设置源字段,所选择的源字段应与表中的字段代表相同含义,一一对应。如图28所示,在字段映射的底部,会显示生成的SQL语句,可供参考。

        • 如果在规范设计 > 配置中心 > 功能配置页面中开启了“模型设计业务流程步骤 > 创建数据开发作业”(默认为关闭),发布表时,系统将根据表的映射信息,在数据开发中自动创建一个ETL作业,每一个映射会生成一个ETL节点,作业名称以“数据库名称_表编码”开头。您可以进入数据开发 > 作业开发页面查看作业。ETL作业默认每天0点启动调度。

          根据映射自动创建ETL作业的功能,当前处于内测阶段,默认关闭,目前仅支持DLI->DLI和DLI->DWS两种映射的作业创建。如需使用,可以开启,敬请使用。

        • 在本示例中,未开启自动创建ETL作业的功能,仅为数据开发提供数据的ETL流向,并不会执行ETL操作。在做数据开发的过程中,可以参考此处的映射关系编写SQL脚本。
        图28 字段映射
    6. 完成映射的配置后,出租车行程数据表配置完成,单击“保存”

  7. 模型创建好之后,在模型树上选中模型名称“城市交通”,单击右键菜单“导出”,然后在弹出框中选中“模型”并单击“确定”,可以将整个模型导出。导出后的模型,可以作为备份,今后可用于模型导入。

    图29 导出模型

  8. 发布表模型。

    返回关系建模页面后,在列表中,选中刚才新建的表,再单击“发布”进行批量发布。对于2中通过逆向数据库导入的表,也可以进行发布,发布后,就可以通过DAYU对这些表进行管理和监控。

    图30 发布表

    选择审核人,然后单击“确认提交”提交审核人审核。审核通过后,系统将会自动在相应的数据源下创建表。

    图31 批量发布

  9. 等待审核人审核通过。审核人员的审批操作请参见审核人员审核对象
  10. 当审核人审批通过后,使用开发人员账号登录DAYU实例的规范设计,进入关系建模页面可以查看表的“状态”“同步状态”

    发布是一个异步操作,您可以单击刷新按钮刷新状态。“同步状态”中若显示“创建表: 创建成功”说明该表在对应的数据源下已经创建成功,如果显示“创建表: 创建失败”,可以先刷新状态。如果仍失败,可以单击“更多 > 发布历史”,然后进入“发布日志”Tab页查看日志定位失败原因。问题处理后,在列表中勾选需同步的表,然后选择更多 > 同步尝试重新同步。

    图32 查看表状态

    在列表中单击表名,可以查看表的详情,其中“数据源”显示了表的位置。

    图33 表详情

审核人员审核对象

  1. 使用审核人员账号,登录DAYU控制台。找到已创建的DAYU实例,单击实例卡片上的“进入控制台”。然后选择“空间管理”页签,在工作空间列表中,找到已创建的工作空间,单击“规范设计”,进入规范设计控制台。

    图34 空间管理

  2. 在左侧导航树中,单击“审核中心”,选择“待审核”页签,在列表中选中需要审核的对象,然后单击“批量审核”

    图35 审核

  3. 输入审核意见后,单击“批量通过”完成审核。

    图36 批量审核

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

智能客服提问云社区提问