本文为你介绍如何在数据标准的约束下设计标准化数据模型。

前提条件

新建模型目录

新建逻辑表之前,制定对应的模型目录,便于模型设计者对逻辑表进行管理。

  1. 登录数据资源平台控制台
  2. 在页面左上角单击菜单按钮,选择研发工作台 > 资产加工 > 数据建模,进入数据建模页面。
  3. 在左侧导航栏,单击数据模型设计 > 我的模型,新建模型目录。
    1. 将鼠标悬浮至我的模型,单击新建目录 > 新建目录
    2. 新建目录页面,填写目录名称和标识,单击确认
      新建目录配置:
      名称 标识
      信息中心 xxzx

手动新建逻辑表

在数据标准的约束下,通过引用现有标准表字段,设置逻辑表相关标准质量规则,保证不同的逻辑表设计人员按照统一口径进行操作。

  1. 登录数据资源平台控制台
  2. 在页面左上角单击菜单按钮,选择研发工作台 > 资产加工 > 数据建模,进入数据建模页面。
  3. 展开我的模型,将鼠标悬浮到创建的目录上,单击新建目录 > 新建逻辑表,进入新建逻辑表页面。
  4. 新建逻辑表页面,进行逻辑表配置。选择生命周期,填写表名称后,配置信息区域,单击引用现有表字段,选择数据源类型为MaxCompute,并选择该资源下的云计算资源和表名,勾选表的所有字段,单击确定,返回到新建逻辑表页面,单击确定
    新建逻辑表配置:
    表名称 所属目录 储存生命周期 逻辑表描述 引用现有表
    stg_base_yhkh_di 信息中心 365 银行客户信息 stg_base_yhkh_di
    stg_base_xykbkjl_di 信息中心 365 信用卡信息 stg_base_xykbkjl_di
  5. 将鼠标悬浮到创建的目录上,单击DDL新建,查看新建的逻辑表。查看逻辑表
  6. 在逻辑表操作列单击详情,在配置信息区域,选中DDL设置,单击生成DDL,生成DDL语句后,单击保存DDL设置ddl
    说明 手动新建的逻辑表,需生成DDL,才可进行物理化。

DDL语句新建逻辑表

通过输入DDL语句的方式创建逻辑表。

  1. 登录数据资源平台控制台
  2. 在页面左上角单击菜单按钮,选择研发工作台 > 资产加工 > 数据建模,进入数据建模页面。
  3. 展开我的模型,将鼠标悬浮到创建的目录上,单击DDL新建,进入新建逻辑表页面。
  4. 单击DDL新建,在通过DDL新建面板,将所属目录选择为“信息中心”,数据源类型选择为“MaxCompute”,并输入DDL语句,单击确定
    基础层模型-ODS:ods_base_xykbkjl_di(信用卡信息)
    create table if not exists `ods_base_xykbkjl_di` (
    `id` bigint comment '主键',
    `cid` string comment '卡id',
    `climit` bigint comment '卡额度',
    `actdate` string comment '统计日期',
    `channel` string comment '办卡渠道',
    `rid` string comment '持卡人id'
    )
     comment '信用卡信息'
    ;
    基础层模型-ODS:ods_base_yhkh_di(银行客户信息)
    create table if not exists `ods_base_yhkh_di` (
    `id` bigint comment '主键',
    `zzhm` string comment '证件号码',
    `khmc` string comment '客户名称',
    `nl` bigint comment '年龄',
    `xb` string comment '性别',
    `c_xb_dm` string comment '性别-标准字典值',
    `c_xb_mc` string comment '性别-标准值说明',
    `yddh1` string comment '移动电话1',
    `csrq` string comment '出生日期',
    `jysp` string comment '教育水平',
    `c_jysp_dm` string comment '教育水平-标准字典值',
    `c_jysp_mc` string comment '教育水平-标准值说明',
    `career` string comment '职业',
    `c_career_dm` string comment '职业-标准字典值',
    `c_career_mc` string comment '职业-标准值说明',
    `hyzk` string comment '婚姻状况',
    `c_hyzk_dm` string comment '婚姻状况-标准字典值',
    `c_hyzk_mc` string comment '婚姻状况-标准值说明',
    `gz` bigint comment '工资',
    `decdbyjyje` bigint comment '大额存单本月交易金额',
    `decdbyjybs` bigint comment '大额存单本月交易笔数',
    `zjzdjyrq` string comment '最近主动交易日期',
    `jtnsr` bigint comment '家庭年收入',
    `dqckcy` bigint comment '定期存款持有'
    )
     comment '银行客户信息'
    ;
    明细层模型-DWD:dwd_xykyw_bkjl_di(信用卡信息)
    create table if not exists `dwd_xykyw_bkjl_di` ( 
    `id` bigint comment '主键',
    `cid` string comment '卡id',
    `climit` bigint comment '卡额度',
    `actdate` string comment '统计日期',
    `channel` string comment '办卡渠道',
    `rid` string comment '持卡人id',
    `age` string comment '年龄',
    `gender` string comment '性别',
    `career` string comment '职业'
    )
     comment '信用卡办卡记录' 
    ;
    明细层模型-DWD:dwd_khzx_khxx_di(银行客户信息)
    create table if not exists `dwd_khzx_khxx_di` (
    `id` bigint comment '主键',
    `zzhm` string comment '证件号码',
    `khmc` string comment '客户名称',
    `nl` bigint comment '年龄',
    `xb` string comment '性别',
    `yddh1` string comment '移动电话1',
    `csrq` string comment '出生日期',
    `jysp` string comment '教育水平',
    `career` string comment '职业',
    `hyzk` string comment '婚姻状况',
    `gz` bigint comment '工资',
    `decdbyjyje` bigint comment '大额存单本月交易金额',
    `decdbyjybs` bigint comment '大额存单本月交易笔数',
    `zjzdjyrq` string comment '最近主动交易日期',
    `jtnsr` bigint comment '家庭年收入',
    `dqckcy` bigint comment '定期存款持有'
    )
    comment '银行客户信息'
    ;
    汇总层模型-DWS:dws_ren_kh_di(银行客户信息)
    create table if not exists `dws_ren_kh_di` (
    `id` bigint comment '主键',
    `zzhm` string comment '证件号码',
    `khmc` string comment '客户名称',
    `nl` bigint comment '年龄',
    `xb` string comment '性别',
    `yddh1` string comment '移动电话1',
    `csrq` string comment '出生日期',
    `jysp` string comment '教育水平',
    `career` string comment '职业',
    `hyzk` string comment '婚姻状况',
    `gz` bigint comment '工资',
    `decdbyjyje` bigint comment '大额存单本月交易金额',
    `decdbyjybs` bigint comment '大额存单本月交易笔数',
    `zjzdjyrq` string comment '最近主动交易日期',
    `jtnsr` bigint comment '家庭年收入',
    `dqckcy` bigint comment '定期存款持有'
    )
    comment '银行客户信息';
    汇总层模型-DWS:dws_wp_xyk_di(信用卡信息)
    create table if not exists `dws_wp_xyk_di` ( 
    `id` bigint comment '主键',
    `cid` string comment '卡',
    `climit` bigint comment '卡额度',
    `actdate` string comment '统计日期',
    `channel` string comment '办卡渠道',
    `rid` string comment '持卡人id',
    `age` string comment '年龄',
    `gender` string comment '性别',
    `career` string comment '职业'
    )
     comment '信用卡信息' 
    ;
  5. 单击目录名称,查看新建的逻辑表。

配置逻辑表质量规则

  1. 登录数据资源平台控制台
  2. 在页面左上角单击菜单按钮,选择研发工作台 > 资产加工 > 数据建模,进入数据建模页面。
  3. 进入我的模型和创建的目录,单击新建的“stg_base_yhkh_di”表。
    数据模型名称 目录
    我的模型 信息中心
  4. 逻辑表详情页面,单击页面右上角编辑图标,选择字段对应的关联字段标准,所有操作完成之后单击确定
    新建逻辑表编辑配置:
    字段描述 关联字段标准
    移动电话1 数据元-手机号码
    婚姻状况 数据元-婚姻状况
    职业 数据元-职业
    教育水平 数据元-教育水平
  5. 单击页面质量规则,选择MaxCompute > 添加按钮,选择分区表达式后,单击确定
  6. 单击字段规则,单击启用按钮,启用所有字段规则。查看质量规则

物理化逻辑表

  1. 登录数据资源平台控制台
  2. 在页面左上角单击菜单按钮,选择研发工作台 > 资产加工 > 数据建模,进入数据建模页面。
  3. 在左侧导航栏,单击数据模型设计,展开我的模型,将鼠标悬浮到创建的目录上,单击DDL新建
    数据模型名称 目录
    我的模型 信息中心
  4. 勾选页面所有逻辑表,单击批量操作 > 物理化
  5. 弹出物理化页面,选择云计算资源类型和云计算资源,单击执行物理化,等待物理化结果执行成功。
  6. 在页面左上角单击菜单,选择研发工作台 > 资产加工 > 数据探查,进入数据探查页面。
  7. 在左侧导航栏,单击数据探查 > 物理表探查,以“stg_base_yhkh_di”为例,查看物理表数据。
    1. 在物理表探查展开区域,单击MaxCompute云计算资源。
    2. 在关键字查询框,输入目标物理表,单击目标物理表,查看物理表数据详情。物理表