创建并配置事实逻辑表
业务活动(过程)添加多个属性后生成事实逻辑表。事实逻辑表包含主键、度量和事实属性字段。主键用于定义事实逻辑表从来源表中的取数逻辑;度量是数值类型的字段,表示某个方面的大小、多少或者程度。本文为您介绍如何创建及配置事实逻辑表。
前提条件
在开始执行操作前,请确认您已满足以下条件:
步骤一:创建事实逻辑表
登录Dataphin控制台。
按照下图操作指引,进入新建事实逻辑表配置向导页面。
在新建事实逻辑表页面,配置参数后,单击确定。
参数
描述
业务活动
选择需要创建事实逻辑表的业务活动。业务活动分为业务事件、业务快照、业务流程三种。
表类型
业务活动选择不同,表类型显示不同,默认为单事务事实表。
业务活动选择为业务事件,表类型为事件事实逻辑表。
业务活动选择为业务快照,表类型为快照事实逻辑表。
业务活动选择为业务流程,表类型为流程事实逻辑表。
数据板块
默认为业务活动所在的数据板块。
按照下图操作指引,查看数据板块中的业务活动。
主题域
默认为业务活动所在的主题域。
按照下图操作指引,查看数据板块中业务活动的主题域。
数据时效
数据时效用于定义后续该事实逻辑表任务在生产环境的调度类型。事实逻辑表的数据时效支持选择离线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个字符。
描述信息
填写对事实逻辑表的简单描述。
在表结构页面,配置参数后,单击保存并下一步。
序号
描述
①
过滤区:您可以通过字段名称搜索需要的字段。
您可以根据数据类型、字段类别、有无关联维度、关联维度条件进行精确筛选。
②
调整字段顺序:调整字段顺序前,请确保引用该逻辑表的下游没有使用select * 查询本逻辑表, 避免造成数据错误。
引入字段:详情请参见为事实逻辑表引入字段。
添加字段:支持添加数据字段和分区字段,您可根据业务情况编辑字段的名称、数据类型、字段类别及关联维度。
说明MaxCompute引擎下支持创建不超过6级分区字段。
③
展示区:为您展示序号、字段名称、说明、数据类型(类型长度)、字段类别、关联维度、备注等字段的详细信息,同时您可以在操作列下对字段进行删除操作。
删除:字段删除后不可撤销。
关联维度:详情请参见添加关联维度。
④
您可以批量选择任务,进行删除字段、编辑数据类型和字段类别操作。
在计算逻辑页面,配置维度逻辑表的来源数据与主键间的映射关系后,单击保存并下一步。
单击来源配置按钮,进入来源配置对话框。
说明建议不要在过滤条件或自定义SQL中额外设置对事件时间的过滤。
当前逻辑表没有主键,只能设置一个来源。若来源是多个表,请使用自定义SQL预先完成多表的关联。
单击添加来源对象按钮,配置来源参数。
有主键来源表:有主键的逻辑表允许配置多个来源, 第一个固定为主来源, 逻辑表的数据总量(行数)由此来源决定。
无主键来源表:无主键的逻辑表仅允许配置一个来源,。若来源是多个表,请使用自定义SQL预先完成多表的关联。
参数
描述
来源类型
支持物理表、自定义SQL、逻辑表三种来源类型。
来源对象
选择物理表:支持选择当前租户下所有具有读取权限的物理表(非Dataphin自动生成的物理表)、物理视图(非参数化视图)。
如何获取物理表的读取权限,请参见申请、续期和交还表权限。
选择自定义SQL:单击
图标,在编辑框输入内容,例如:
select id, name from project_name_dev.table_name1 t1 join project_name2_dev.table_name2 t2 on t1.id = t2.id
选择逻辑表:支持选择当前租户下所有具有读取权限的逻辑表。
如何获取物理表的读取权限,请参见申请、续期和交还表权限。
重要使用逻辑表作为另一个逻辑表的数据来源, 会增加计算逻辑的复杂度和运维难度。
过滤条件
单击
图标,在编辑框输入内容,例如:
ds=${bizdate} and condition1=value1。
自定义SQL无过滤条件。
单击确定,完成来源配置。
完成来源配置后, 将来源字段拖入计算逻辑中,您也可以单击同名字段快速映射按钮,批量将数据来源字段置入同名的逻辑表字段的计算逻辑中。
单击
图标,在编辑框中可以编辑计算逻辑表达式(表达式不支持聚合函数: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
单击底部
图标,校验表达式的有效性。
单击预览SQL按钮,查看计算逻辑SQL。
在调度&参数配置页面,配置维度逻辑表的调度属性及调度依赖,单击保存并提交。
调度属性配置,选择依赖上周期-依赖,您可以单击图标,添加多个依赖节点。
根据业务场景选择本周期节点的运行,是否需要依赖上一周期本节点或其他节点的运行结果。
在调度配置页面,配置调度依赖区域的参数。
调度依赖默认开启自动解析,系统自动解析该逻辑表的物化代码中依赖关系。同时,您也可以手动添加上游依赖的物理节点和逻辑表节点。
分区
描述
自动解析依赖
系统根据配置的来源主表的类型进行自动解析:
如果来源主表的类型为物理表,则Dataphin仅支持自动解析出上游依赖的物理节点。能成功解析出依赖的物理节点需要满以下两个条件:
Dataphin内已有基于来源主表生成的周期任务。
周期任务的节点输出名称格式为项目名.表名。
如果来源主表的类型为逻辑表,即可将依赖的逻辑表节点对应的字段添加为上游依赖。
上游依赖
为您展现该逻辑表所依赖的物理节点和逻辑表节点。 您也可以手动添加上游依赖的物理节点,适用场景说明如下:
需要将非来源主表的任务节点,添加为逻辑表的上游依赖节点。
节点输出名称的格式不是项目名.表名。
重要上游依赖的逻辑表节点,不支持手动添加。
手动添加上游依赖的物理节点,操作说明如下:
单击添加依赖。
在新增上游依赖对话框中,输入所依赖节点的输出名称的关键字进行搜索节点。
单击确定新增。
逻辑表节点(本节点)
逻辑表节点的输出名称由系统自动生成。
在调度配置页面,您可以对参数配置进行忽略或转为全局变量的操作。可以单击节点参数配置说明按钮来配置参数。
在提交详情页面,对表结构、计算逻辑、调度依赖、运行参数进行配置校验。再次单击保存并提交,对计算逻辑、参数配置检查、权限校验、变更兼容检查、调度依赖检查和操作执行进行校验。
如果项目的模式为Dev-Prod,则您需要发布普通维度逻辑表至生产环境。具体操作,请参见管理发布任务。
完成维度逻辑表创建后,默认进入该维度逻辑表的配置页面。
编辑事实逻辑表
单击编辑按钮,编辑维度逻辑表。

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

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

为事实逻辑表引入字段
在上述创建的事实逻辑表的配置页面,单击引入字段。
添加字段。
根据事实逻辑表是否已定义主键,选择度量字段的来源表。如果事实逻辑表已经定义了主键,则度量字段仅支持从来源主表中选取;如果事实逻辑表中没有定义主键,则度量字段支持从来源主表及其他数据表中选取。
从表引入:选择来源表后,选择您所需添加的字段,单击添加,为维度逻辑表引入某物理表的字段。
参数
描述
来源表
支持选择当前租户下所有具有读取权限的物理表(非Dataphin自动生成的物理表)、逻辑表、视图(非参数化视图)。
如何获取物理表的读取权限,请参见申请、续期和交还表权限。
字段列表
选择您需要添加的字段。
选择度量字段并添加至新建字段区域后,您可以根据业务情况编辑字段的名称、数据类型、字段类别及关联维度。
建表语句:可根据参考示例编辑建表语句,单击解析SQL按钮,检测建表语句的有效性。
在字段列表选择您需要的字段,为维度逻辑表新建字段。
添加关联维度
事实逻辑表的事实属性中的外键字段关联维度。
在维度逻辑表的配置页面,单击
图标,进入编辑模型关系对话框。
在编辑模型关系对话框,配置参数。
区域
参数
描述
空值替换值
如果事实逻辑表的外键字段和维度表关联不上,则系统将默认值设定为-110。
关联维度
关联实体、维度逻辑表
选择您已创建的关联实体和维度逻辑表。
编辑关联逻辑
关联逻辑
选择事实逻辑表中的字段,并配置事实逻辑表字段与需要关联维度逻辑表中的主键的关系。
维表版本策略
选择关联维表的版本(分区), 默认使用与主表相同周期分区版本。
缺联策略
缺联策略用于定义来源主表(左表)中存在的字段,但在维度逻辑表(右表)中不存在的字段,即无法关联的字段的计算逻辑。您可以选择保留原始缺联数据和缺联数据使用默认值代替:
保留原始缺联数据: 创建派生指标时,保留左表原始数据。
缺联数据使用默认值代替:维表中的字段没有与事实逻辑表关联上,则使用默认值-110。
编辑维度角色
角色英文名、角色名称
维度角色具有维度别名作用。多次引用同一维度时不可重名定义,起到角色扮演效果。您需要定义角色英文名和角色名称:
角色英文名的前缀默认为
dim
,自定义部分的命名规则为:包含字母、数字或下划线(_)。
不能超过64个字符。
角色名称的命名规则:
包含汉字、数字、字母、下划线(_)或短划线(-)。
不能超过64个字符。
后续步骤
完成事实逻辑表的创建及配置后,您需要为事实逻辑表配置生命周期及分区字段等参数。具体操作请参见维度和事实逻辑表物化配置。