创建并配置事实逻辑表

业务活动(过程)添加多个属性后生成事实逻辑表。事实逻辑表包含主键、度量和事实属性字段。主键用于定义事实逻辑表从来源表中的取数逻辑;度量是数值类型的字段,表示某个方面的大小、多少或者程度。本文为您介绍如何创建及配置事实逻辑表。

前提条件

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

步骤一:创建事实逻辑表

  1. 登录Dataphin控制台

  2. 按照下图操作指引,进入新建事实逻辑表配置向导页面。

    gagag
  3. 新建事实逻辑表页面,配置参数后,单击确定

    image

    参数

    描述

    业务活动

    选择需要创建事实逻辑表的业务活动。业务活动分为业务事件业务快照业务流程三种。

    表类型

    业务活动选择不同,表类型显示不同,默认为单事务事实表。

    • 业务活动选择为业务事件表类型事件事实逻辑表

    • 业务活动选择为业务快照表类型快照事实逻辑表

    • 业务活动选择为业务流程表类型流程事实逻辑表

    数据板块

    默认为业务活动所在的数据板块。

    按照下图操作指引,查看数据板块中的业务活动。gagaga

    主题域

    默认为业务活动所在的主题域。

    按照下图操作指引,查看数据板块中业务活动的主题域。gagag

    数据时效

    数据时效用于定义后续该事实逻辑表任务在生产环境的调度类型。事实逻辑表的数据时效支持选择离线T+1(天任务)、离线T+h(小时任务)和离线T+m(分钟任务)。

    逻辑表名

    逻辑表名格式为<数据板块英文名称>.fct_自定义名称_<数据时效>。根据数据时效不同,逻辑表名的格式也不同,<数据时效>展示信息不同:

    • 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分钟的全量数据。

    中文名称

    自定义名称的命名规则为:

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

    • 不能超过64个字符。

    描述信息

    填写对事实逻辑表的简单描述。

  4. 表结构页面,配置参数后,单击保存并下一步

    image

    序号

    描述

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

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

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

    • 引入字段:详情请参见为事实逻辑表引入字段

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

      说明

      MaxCompute引擎下支持创建不超过6级分区字段。

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

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

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

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

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

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

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

      • 当前逻辑表没有主键,只能设置一个来源。若来源是多个表,请使用自定义SQL预先完成多表的关联。

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

      有主键来源表:有主键的逻辑表允许配置多个来源, 第一个固定为主来源, 逻辑表的数据总量(行数)由此来源决定。

      无主键来源表:无主键的逻辑表仅允许配置一个来源,。若来源是多个表,请使用自定义SQL预先完成多表的关联。

      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
      • 选择逻辑表:支持选择当前租户下所有具有读取权限的逻辑表。

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

        重要

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

      过滤条件

      单击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

    区域

    参数

    描述

    空值替换值

    如果事实逻辑表的外键字段和维度表关联不上,则系统将默认值设定为-110。

    关联维度

    关联实体维度逻辑表

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

    编辑关联逻辑

    关联逻辑

    选择事实逻辑表中的字段,并配置事实逻辑表字段与需要关联维度逻辑表中的主键的关系。

    维表版本策略

    选择关联维表的版本(分区), 默认使用与主表相同周期分区版本。

    缺联策略

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

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

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

    编辑维度角色

    角色英文名角色名称

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

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

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

      • 不能超过64个字符。

    • 角色名称的命名规则:

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

      • 不能超过64个字符。

后续步骤

完成事实逻辑表的创建及配置后,您需要为事实逻辑表配置生命周期及分区字段等参数。具体操作请参见维度和事实逻辑表物化配置

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