创建并配置普通维度逻辑表

普通维度逻辑表用于描述实体对象,包含对实体对象的各方面描述。例如会员普通维度逻辑表,包含会员名称、会员ID、会员邮件等数据。本文为您介绍如何创建并配置普通维度逻辑表。

前提条件

在开始执行操作前,请确认您已满足以下条件:

创建维度逻辑表

  1. 在Dataphin首页,单击顶部菜单栏的研发

    默认进入数据 开发页面。
  2. 在数据开发页面,按照下图操作指引,进入新建维度逻辑表配置页面。

    fagaga①区域选择规范建模研发的项目空间,如果您选择了Dev-Prod模式的项目空间,则需要在区域②选择为Dev

  3. 新建维度逻辑表页面,配置参数后,单击确定

    image

    参数

    描述

    业务对象

    选择普通对象

    表类型

    业务对象选择普通对象,表类型为普通维度逻辑表,不支持修改。

    数据板块

    默认为项目关联的数据板块,不支持修改。

    主题域

    默认为业务对象所在的主题域,不支持修改。

    数据时效

    数据时效用于定义后续该维度逻辑表的数据时效。普通维度逻辑表的数据时效支持选择T+1(天表)、T+h(小时表)和T+m(分钟表)。

    逻辑表名

    Dataphin自动填充逻辑表名,不支持修改。命名规则为<数据板块名称>.dim_<业务对象名称>_<数据时效>

    根据上述选择的数据时效,<数据时效>展示信息不同,详细说明如下:

    • di:T+1时效,日增量,每天存储当天的增量数据。

    • hi:T+h时效,小时增量,每小时存储当前小时的增量数据。

    • thi:T+h时效,小时增量,每小时存储0点到当前小时的增量。

    • mi:T+m时效,分钟增量,每15分钟分区存储最近15分钟的增量。

    • tmi:T+m时效,分钟增量,每15分钟存储0点到当前分钟的增量。

    • df/da: T+1时效, 日全量, 每天存储历史截止当天的全量数据。

    • hf: T+h时效, 小时全量, 每小时存储历史截止当前小时的全量数据。

    • mf: T+m时效, 分钟全量, 每15分钟存储历史截止最近15分钟的全量数据。

    中文名称

    命名规则如下:

    • 不能超过128个字符。

    • 支持任何字符。

    描述信息

    填写对维度逻辑表的简单描述。

  4. 表结构页面,配置维度逻辑表字段信息后,单击保存

    单击逻辑表名称后的image图标,查看逻辑表的基本信息。

    image

    序号

    描述

    过滤区:您可以通过字段名称搜索需要的字段。

    您可以根据数据类型字段类别有无关联维度关联维度条件进行精确筛选。

    • 调整字段顺序:调整字段顺序前,请确保引用该逻辑表的下游没有使用select * 查询本逻辑表, 避免造成数据错误。

    • 引入字段:详情请参见为维度逻辑表引入字段

    • 添加字段:支持添加数据字段分区字段,您可根据业务情况编辑字段的名称、数据类型、字段类别及关联维度。

      说明

      支持创建不超过6级分区字段。

    展示区:为您展示序号字段名称说明数据类型(类型长度)字段类别关联维度备注等字段的详细信息,同时您可以在操作列下对字段进行删除操作。

    • 删除:字段删除后不可撤销。

    • 关联维度:详情请参见添加关联维度

    您可以批量选择任务,进行删除字段、编辑数据类型和字段类别操作。

  5. 计算逻辑页面,配置维度逻辑表的来源数据与主键间的映射关系后,单击保存

    image
    1. 单击来源配置按钮,进入来源配置对话框。

      说明

      建议不要在过滤条件或自定义SQL中额外设置对事件时间的过滤。

    2. 单击添加来源对象按钮,配置来源参数。

      image

      参数

      描述

      来源类型

      支持物理表自定义SQL逻辑表三种来源类型。

      来源对象

      • 选择物理表:支持选择当前租户下所有具有读取权限的物理表(非Dataphin自动生成的物理表)、物理视图(非参数化视图)。

        如何获取物理表的读取权限,请参见申请、续期和交还表权限

      • 选择自定义SQL:单击image图标,在编辑框输入内容,例如:

        select id, name
        from project_name_dev.table_name1 t1
        join
        project_name2_dev.table_name2 t2
        on t1.id = t2.id
      • 选择逻辑表:支持选择当前租户下所有具有读取权限的逻辑表。

        如何获取物理表的读取权限,请参见申请、续期和交还表权限

        重要

        使用逻辑表作为另一个逻辑表的数据来源, 会增加计算逻辑的复杂度和运维难度。

      对象别名

      自定义来源表别名。例如:t1,t2。

      过滤条件

      单击image图标,在编辑框输入内容,例如:

      ds=${bizdate} and condition1=value1。

      自定义SQL无过滤条件。

      关联字段

      来源对象中与逻辑表主键相对应的字段,与主键可以做等值关联。例如

      删除

      主来源不支持删除。

      无主键逻辑表,删除来源将清空字段的计算逻辑。

    3. 单击确定,完成来源配置。

    4. 完成来源配置后, 将来源字段拖入计算逻辑中,您也可以单击同名字段快速映射按钮,批量将数据来源字段置入同名的逻辑表字段的计算逻辑中。

      单击image图标,在编辑框中可以编辑计算逻辑表达式(表达式不支持聚合函数:sum,count,min等),例如:

      示例1:substr(t1.column2, 3, 10)

      示例2:case when t1.column2 != '1' then 'Y' else 'N' end

      示例3:t1.column2 + t2.column1

    5. 单击底部image图标,校验表达式的有效性。

      单击预览SQL按钮,查看计算逻辑SQL。

  6. 调度&参数配置页面,配置维度逻辑表的调度属性及调度依赖,单击保存并提交

    • 调度属性配置,选择依赖上周期-依赖,您可以单击图标,添加多个依赖节点。

      根据业务场景选择本周期节点的运行,是否需要依赖上一周期本节点或其他节点的运行结果。

      image
    • 在调度配置页面,配置调度依赖区域的参数。

      调度依赖默认开启自动解析,系统自动解析该逻辑表的物化代码中依赖关系。同时,您也可以手动添加上游依赖的物理节点和逻辑表节点。

      image

      分区

      描述

      自动解析依赖

      系统根据配置的来源主表的类型进行自动解析:

      • 如果来源主表的类型为物理表,则Dataphin仅支持自动解析出上游依赖的物理节点。能成功解析出依赖的物理节点需要满以下两个条件:

        • Dataphin内已有基于来源主表生成的周期任务。

        • 周期任务的节点输出名称格式为项目名.表名。

      • 如果来源主表的类型为逻辑表,即可将依赖的逻辑表节点对应的字段添加为上游依赖。

      上游依赖

      为您展现该逻辑表所依赖的物理节点和逻辑表节点。 您也可以手动添加上游依赖的物理节点,适用场景说明如下:

      • 需要将非来源主表的任务节点,添加为逻辑表的上游依赖节点。

      • 节点输出名称的格式不是项目名.表名。

        重要

        上游依赖的逻辑表节点,不支持手动添加。

      手动添加上游依赖的物理节点,操作说明如下:

      1. 单击添加依赖

      2. 新增上游依赖对话框中,输入所依赖节点的输出名称的关键字进行搜索节点。

      3. 单击确定新增

      逻辑表节点(本节点)

      逻辑表节点的输出名称由系统自动生成。

    • 在调度配置页面,您可以对参数配置进行忽略转为全局变量的操作。可以单击节点参数配置说明按钮来配置参数。

      image
  7. 在提交详情页面,对表结构计算逻辑调度依赖运行参数进行配置校验。再次单击保存并提交,对计算逻辑参数配置检查权限校验变更兼容检查调度依赖检查操作执行进行校验。

    image

    如果项目的模式为Dev-Prod,则您需要发布普通维度逻辑表至生产环境。具体操作,请参见管理发布任务

    完成维度逻辑表创建后,默认进入该维度逻辑表的配置页面。
    image

编辑维度逻辑表

单价编辑按钮,编辑维度逻辑表。

image

查看维度逻辑表

维度逻辑表配置完成后,在表字段列表页面,可查看维度逻辑表基本信息及表字段的基本信息。

image

单击属性按钮,您也可以查看逻辑表的基本信息。

image

为维度逻辑表引入字段

  1. 在上述创建的维度逻辑表的配置页面,单击引入字段

    image
  2. 添加字段。

    您可以通过从表引入建表语句的方式,为维度逻辑表添加字段:

    • 从表引入:选择来源表后,选择您所需添加的字段,单击添加,为维度逻辑表引入某物理表的字段。image来源表的详细说明请参见下表。

      参数

      描述

      来源表

      支持选择当前租户下所有具有读取权限的物理表(非Dataphin自动生成的物理表)、逻辑表、视图(非参数化视图)。

      如何获取物理表的读取权限,请参见申请、续期和交还表权限

      字段列表

      选择您需要添加的字段。

      添加至新建字段区域后,您可以根据业务情况编辑字段的名称、数据类型、字段类别及关联维度。

    • 建表语句:可根据参考示例编辑建表语句,单击解析SQL按钮,检测建表语句的有效性。

      在字段列表选择您需要的字段,为维度逻辑表新建字段。image

添加关联维度

  1. 在维度逻辑表的配置页面,单击gagag图标,进入编辑模型关系对话框。

    image
  2. 编辑模型关系对话框,配置参数。

    image

    区域

    参数

    描述

    空值替换值

    如果主表(当前维度逻辑表)和需要关联的维度逻辑表表关联不上,则Dataphin自动对关联字段补值为-110。

    维度逻辑表

    关联实体维度逻辑表

    选择您已创建的关联实体维度逻辑表

    编辑关联逻辑

    关联逻辑

    默认展示需要关联维度的字段及关联的维度逻辑表的主键,不支持修改。

    维表版本策略

    定义主表(当前维度逻辑表)与关联维度逻辑表的分区,默认使用与当前维度逻辑表相同调度周期。更多说明如下:

    • 使用同周期维度(主表与维表使用同周期分区):主表和关联维度逻辑表计算时使用相同周期的时间分区。

      例如,业务日期是20220110,需要查询主表的ds=20220101分区的数据,同时关联维度逻辑表的时间分区也是2020101,则就需要选择为使用同周期维表。

    • 使用最新维表(维表使用最新分区):数据计算时使用最新关联维度逻辑表的最新分区。

      例如,某商品类目经常会调整,10天前是手机类目,今天是电器类目。如果业务上需要按照电器类目重跑10天前的数据,则维表版本策略需要选择为使用最新维表(维表使用最新分区)

    缺联策略

    缺联策略用于定义来源主表(左表)中存在的字段,但在维度逻辑表(右表)中不存在的字段,即无法关联的字段的计算逻辑。您可以选择保留原始缺联数据缺联数据使用默认值代替

    • 保留原始缺联数据: 创建派生指标时,保留左表原始数据。

    • 缺联数据使用默认值代替:主表中的字段没有与维度逻辑表关联上,则使用默认值-110。

    编辑维度角色

    角色英文名角色名称

    维度角色具有维度别名作用。多次引用同一维度时不可重名定义,起到角色扮演效果。您需要定义角色英文名角色名称

    • 角色英文名的前缀默认为dim,自定义部分的命名规则为:

      • 包含字母、数字或下划线(_)。

      • 不能超过64个字符。

    • 角色名称的命名规则:

      • 包含汉字、数字、字母、下划线(_)或短划线(-)。

      • 不能超过64个字符。

阿里云首页 智能数据建设与治理 Dataphin 相关技术圈