新建事实逻辑表

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

使用限制

  • 若您未购买数据标准模块,不支持设置表中的数据标准字段。

  • 若您未购买资产安全模块,不支持设置表中的数据分级数据分类字段。

  • 若您未购买资产质量模块,不支持实现主键字段的唯一非空校验。

前提条件

已完成业务活动对象的创建,具体操作请参见创建并管理业务实体

操作步骤

步骤一:创建事实逻辑表

  1. 在Dataphin首页,单击顶部菜单栏研发->数据研发

  2. 按照以下操作指引,进入新建事实逻辑表对话框。

    选择项目(Dev-Prod 模式需要选择环境)->单击事实逻辑表->单击image图标。

    image

  3. 新建事实逻辑表页面,配置参数。

    参数

    描述

    业务活动

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

    表类型

    逻辑表类型由业务活动类型决定。

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

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

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

    数据板块

    默认为业务活动所在的数据板块名称,不支持修改。

    主题域

    默认为业务活动所在的主题域名称,不支持修改。

    算引擎

    设置Dataphin实例为Hadoop计算引擎的租户支持选择计算引擎,包括Hive、Impala、Spark。

    重要

    对应的计算引擎需要进行开启后,才可以支持进行选择。更多信息,请参见创建Hadoop计算源

    计算引擎存在以下限制,详情如下:

    • Hive:不可读取存储为Kudu格式的来源表。

    • Impala:可读取存储为Kudu格式的来源表,暂不支持将逻辑表存储为Kudu。如果没有Kudu格式的来源表,不建议使用。

    • Spark:Spark不可读取存储为Kudu格式的来源表。

    数据时效

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

    说明

    ArgoDB、StarRocks计算引擎仅支持离线T+1(天表)。

    逻辑表名

    填写逻辑表名,表名称总长度需要在100个字符以内。选择业务对象后,系统将自动填充逻辑表名,填充规则为<数据板块名称>.fct_<业务对象编码>_<数据时效>

    重要
    • 仅允许填写字母,数字和下划线(_),且首位必须为字母,大小写不敏感,输入大写字母时,系统将自动转为小写。

    • label_为系统保留前缀,不允许开头为label_

    • AnalyticDB for PostgreSQL表名称总长度需要在50个字符以内。

    数据时效不同,逻辑表名的格式也不同,<数据时效>展示信息不同:

    • 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个字符。

    描述信息

    填写对事实逻辑表的简单描述,1000个字符以内。

  4. 单击确定

步骤二:配置事实逻辑表表结构

  1. 表结构页面,配置参数。

    image

    区域

    描述

    表字段定位

    单击可定位字段列表的基本配置资产治理配置。

    搜索及筛选区

    您可以通过表字段名称搜索所需字段。

    单击image..png可以根据数据类型字段类别有无关联维度关联维度、字段约束、数据分级条件进行筛选。

    列表操作

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

    • 引入字段:为表引入新字段。支持从建表语句引入从表引入。具体操作,请参见为事实逻辑表引入字段

    • 添加字段:支持添加数据字段分区字段,您可根据业务情况编辑字段的名称说明数据类型字段类别关联维度字段标准字段约束数据分类数据分级备注信息。

      说明

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

      ArgoDB、StarRocks计算引擎不支持添加分区字段。

    字段列表

    字段列表为您展示字段的序号字段名称说明数据类型字段类别关联维度字段标准字段约束数据分类数据分级备注等字段的详细信息。

    • 序号:表字段序号。每新增1个字段,自增+1。

    • 字段名称:表字段名称。您可输入字段名称或中文关键词,将自动匹配标准预置的字段名。

    • 说明:表字段说明信息,仅限填写512字符以内。

    • 数据类型:支持stringbigintdoubletimestampdecimal文本数值日期时间其他数据类型。

    • 字段类别:支持设置为主键分区属性

      说明
      • 仅允许一个主键字段。

      • 仅支持string、varchar、bigint、int、tinyint、smallinit类型字段作为分区字段。

    • 关联维度:具体操作,请参见添加关联维度

    • 字段标准:选择字段的字段标准。如需创建标准,请参见新建和管理数据标准

    • 字段约束:选择字段的字段约束。支持唯一非空约束。

    • 数据分类:选择字段的数据分类。如需创建数据分类,请参见新建数据分类

    • 数据分级:选择数据分类后,系统将自动识别数据级别。

    • 备注:填写字段的备注信息。仅限填写2048字符以内。

    同时您可以在操作列下对字段进行删除操作。

    说明

    字段删除后不可撤销。

    批量操作

    您可以批量选择表字段,进行以下操作。

    • 删除:单击image图标,批量删除已经选中的数据字段。

    • 数据类型:单击image图标,批量修改已经选中的数据类型。

    • 字段类别:单击image图标,批量修改已经选中的字段类别。

    • 词根命名:单击image图标,系统将对字段的说明内容进行分词并匹配已经创建的词根,进行字段名称推荐。您可以在词根命名对话框中,将选中字段的名称替换为修改后的值。如下图所示:

      image

      说明
      • 若推荐的字段名称均不满足需求,您可以在修复后字段名称输入框中进行修改。

      • 单击重置将重置修改后字段名称为系统的命中词根。

    • 字段标准:单击image图标,系统将根据字段名称进行字段标准推荐。您可以在字段标准对话框中,将字段设置为推荐的字段标准。

    • 字段约束:单击image图标,批量设置字段约束。

      重要

      子维度逻辑表不支持设置字段约束。

  2. 单击保存并下一步

为事实逻辑表引入字段

  • 从表引入

    1. 在上述创建的事实逻辑表的配置页面,单击从表引入

      image..png

    2. 从表引入对话框,选择来源表后,选择您所需添加的字段。

      参数

      描述

      来源表

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

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

      字段列表

      选择您需要添加的字段。

      说明

      您可通过切换来源表方式选择多个来源表中的字段。

      已选择字段

      添加的字段将被添加到已选择字段。您可对已选择字段进行删除操作。

    3. 单击添加,为事实逻辑表引入某物理表的字段。

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

  • 从建表语句引入

    根据事实逻辑表是否已定义主键,选择度量字段的来源表。如果事实逻辑表已经定义了主键,则度量字段仅支持从来源主表中选取;如果事实逻辑表中没有定义主键,则度量字段支持从来源主表及其他数据表中选取。

    1. 在上述创建的事实逻辑表的配置页面,单击从建表语句引入

    2. 从建表语句引入对话框,填写建表语句并单击解析SQL

      image..png

    3. 在字段列表选择您需要的字段,并单击添加为事实逻辑表新建字段。

添加关联维度

事实逻辑表的事实属性中的外键字段关联维度。

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

    image..png

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

    区域

    参数

    描述

    空值替换值

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

    关联维度

    关联实体维度逻辑表

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

    编辑关联逻辑

    关联逻辑

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

    维表版本策略

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

    缺联策略

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

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

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

    编辑维度角色

    角色英文名角色名称

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

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

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

      • 不能超过64个字符。

    • 角色名称的命名规则:

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

      • 不能超过64个字符。

  3. 单击确定

步骤三:配置事实逻辑表计算逻辑

  1. 计算逻辑页面,配置事实逻辑表的来源数据与主键间的映射关系。

    image..png

  2. 单击来源配置,进入来源配置对话框并在来源配置对话框中,配置来源参数。

    image..png

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

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

    参数

    描述

    来源类型

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

    来源表类型说明:

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

    • 无主键来源表:无主键的逻辑表仅允许配置一个来源,。若来源是多个表,请使用自定义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。

    对象描述

    请输入对象的描述信息。仅限1000字符以内。

    过滤条件

    单击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..png图标,可校验表达式的有效性。

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

  6. 单击保存并下一步

步骤四:配置约束

  1. 基于字段约束, 系统将在质量模块中为当前逻辑表创建质量规则。您可在此处设置字段的规则强度,包括强规则和弱规则。更多信息,请参见数据表质量规则

    image..png

  2. 单击保存并下一步

步骤五:配置事实逻辑表调度配置

  1. 调度&参数配置页面,配置事实逻辑表的数据延迟调度属性调度依赖调度参数、运行配置

    image..png

    参数

    描述

    数据延迟

    开启数据延迟,系统将自动重跑本逻辑表在最大延迟天数周期内的全部数据。详细说明,请参见配置逻辑表数据延迟

    调度属性

    用于定义事实逻辑表在生产环境的调度方式。您可以通过调度属性,配置事实逻辑表的调度类型、调度周期、调度逻辑与执行等等。详情说明,请参见:配置逻辑表调度属性

    上游依赖

    用于定义逻辑表在调度任务中的节点。Dataphin通过各个节点的调度依赖的配置结果,有序的运行业务流程中各个节点,保障业务数据有效、适时地产出。详情说明,请参见:配置逻辑表上游依赖

    参数配置

    参数配置是对代码中所用的变量进行赋值,从而支持节点调度时,参数变量可以自动被替换为相应的变量值。在调度参数配置页面,您可以对参数配置进行忽略转为全局变量的操作。详情说明,请参见:逻辑表参数配置

    运行配置

    您可根据业务场景为该事实逻辑表配置任务级的运行超时时间和任务运行失败时的重跑策略,杜绝因计算任务长时间资源占用造成资源浪费的同时提高计算任务运行的可靠性。详情说明,请参见逻辑表运行配置

步骤六:保存并提交逻辑表

  1. 完成事实逻辑表配置后,单击保存并提交。系统将对表结构计算逻辑调度依赖运行参数进行配置校验。您可以根据未通过的检查结果,检查配置信息并完成配置。

    image

  2. 检查结果全部通过后,填写提交备注,并单击确定并提交

    提交时,Dataphin将进行任务的血缘解析及提交检查。更多信息,请参见规范建模任务提交说明

后续步骤

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

  • 逻辑表发布至生产环境后,您可在运维中心查看并运维逻辑表任务。具体操作,请参见运维中心概述