普通维度逻辑表用于描述实体对象,包含对实体对象的各方面描述。例如会员普通维度逻辑表,包含会员名称、会员ID、会员邮件等数据。本文为您介绍如何创建并配置普通维度逻辑表。
使用限制
若您未购买数据标准模块,不支持设置表中的数据标准字段。
若您未购买资产安全模块,不支持设置表中的数据分级、数据分类字段。
若您未购买资产质量模块,不支持实现主键字段的唯一和非空校验。
前提条件
已完成业务实体的创建。更多信息,请参见创建并管理业务实体。
操作步骤
步骤一:创建普通维度逻辑表
在Dataphin首页的顶部菜单栏中,选择研发 > 数据研发。
在顶部菜单栏中选择项目(Dev-Prod模式还需要选择环境)。
在左侧导航栏中需选择规范建模 > 维度逻辑表。
在右侧维度逻辑表列表中,单击新建图标。
在新建维度逻辑表对话框中,配置以下参数。
参数
描述
业务对象
选择普通对象。
表类型
业务对象选择普通对象,表类型为普通维度逻辑表,不支持修改。
数据板块
默认为项目关联的数据板块,不支持修改。
主题域
默认为业务对象所在的主题域,不支持修改。
计算引擎
设置Dataphin实例为Hadoop计算引擎的租户支持选择计算引擎,包括Hive、Impala、Spark。
重要对应的计算引擎需要在开启后,才可以支持进行选择。更多信息,请参见创建Hadoop计算源。
当计算引擎为TDH 6.x或TDH 9.3.x时,不支持配置此项。
计算引擎存在以下限制,详情如下:
Hive:不可读取存储为Kudu格式的来源表。
Impala:可读取存储为Kudu格式的来源表,暂不支持将逻辑表存储为Kudu。如果没有Kudu格式的来源表,不建议使用。
Spark:Spark不可读取存储为Kudu格式的来源表。
数据时效
数据时效用于定义后续该维度逻辑表的数据时效。普通维度逻辑表的数据时效支持选择T+1(天表)、T+h(小时表)和T+m(分钟表)。
说明ArgoDB、StarRocks计算引擎仅支持离线T+1(天表)。
逻辑表名
填写逻辑表名,表名称总长度需要在100个字符以内。选择业务对象后,系统将自动填充逻辑表名,填充规则为
<数据板块名称>.dim_<业务对象编码>_<数据时效>
。重要仅允许填写字母,数字和下划线(_),且首位必须为字母,大小写不敏感,输入大写字母时,系统将自动转为小写。
label_
为系统保留前缀,不允许开头为label_
。AnalyticDB for PostgreSQL表名称总长度需要在50个字符以内。
根据上述选择的数据时效,
<数据时效>
展示信息不同,详细说明如下:df:T+1时效,日全量,每天存储历史截止当天的全量数据。
hf:T+h时效,小时全量,每小时存储历史截止当前小时的全量数据。
mf:T+m时效,分钟全量,每15分钟存储历史截止最近15分钟的全量数据。
中文名称
命名规则如下:
不能超过128个字符。
支持任何字符。
描述信息
填写对维度逻辑表的简单描述,1000个字符以内。
单击确定,完成普通维度逻辑表创建。
步骤二:配置普通维度逻辑表字段信息
在表结构配置页面配置当前普通维度逻辑表的表字段、数据类型、字段类别等结构信息。
说明单击逻辑表名称后的图标,可查看逻辑表的基本信息。
区块
说明
①表字段定位
单击可定位字段列表的基本配置或资产治理配置。
②搜索与筛选
您可以通过表字段名称搜索所需字段。
单击可以根据数据类型、字段类别、有无关联维度、关联维度、字段约束、数据分级条件进行筛选。
③字段列表操作
调整字段顺序:调整字段顺序前,请确保引用该逻辑表的下游没有使用
select *
查询本逻辑表, 避免造成数据错误。引入字段:为表引入新字段。支持从建表语句引入和从表引入。具体操作,请参见为维度逻辑表引入字段。
添加字段:支持添加数据字段和分区字段,您可根据业务情况编辑字段的名称、说明、数据类型、字段类别、关联维度、字段标准、字段约束、数据分类、数据分级及备注信息。
说明MaxCompute引擎下支持创建不超过6级的分区字段。
ArgoDB、StarRocks计算引擎不支持添加分区字段。
④字段列表
字段列表为您展示字段的序号、字段名称、说明、数据类型、字段类别、关联维度、字段标准、字段约束、数据分类、数据分级及备注等字段的详细信息。
序号:表字段序号。每新增1个字段,自增+1。
字段名称:表字段名称。您可输入字段名称或中文关键词,将自动匹配标准预置的字段名。
说明:表字段说明信息,仅限填写512个字符以内。
数据类型:支持string、bigint、double、timestamp、decimal、文本、数值、日期时间及其他数据类型。
字段类别:支持设置为主键、分区、属性。
说明仅允许一个主键字段。
仅支持string、varchar、bigint、int、tinyint、smallint类型字段作为分区字段。
关联维度:具体操作,请参见添加关联维度。
字段标准:选择字段的字段标准。如需创建标准,请参见新建和管理数据标准。
字段约束:选择字段的字段约束。支持唯一和非空约束。
数据分类:选择字段的数据分类。如需创建数据分类,请参见新建数据分类。
数据分级:选择数据分类后,系统将自动识别数据级别。
备注:填写字段的备注信息。仅限填写2048个字符以内。
同时您可以在操作列下对字段进行删除操作。
说明字段删除后不可撤销。
维度逻辑表主键和系统分区字段不支持删除。
⑤批量操作
您可以批量选择表字段,进行以下操作。
删除:单击图标,批量删除已经选中的数据字段。
数据类型:单击图标,批量修改已经选中的数据类型。
字段类别:单击图标,批量修改已经选中的字段类别。
词根命名:单击图标,系统将对字段的说明内容进行分词并匹配已经创建的词根,进行字段名称推荐。您可以在词根命名对话框中,将选中字段的名称替换为修改后的值。如下图所示:
说明若推荐的字段名称均不满足需求,您可以在修复后字段名称输入框中进行修改。
单击重置将重置修改后字段名称为系统的命中词根。
字段标准:单击图标,系统将根据字段名称进行字段标准推荐。您可以在字段标准对话框中,将字段设置为推荐的字段标准。
字段约束:单击图标,批量设置字段约束。
重要子维度逻辑表不支持设置字段约束。
单击保存并下一步。
为维度逻辑表引入字段
从表引入
在上述创建的维度逻辑表的配置页面,单击从表引入。
在从表引入对话框,选择来源表后,选择您所需添加的字段。
参数
描述
来源表
支持选择当前租户下所有具有读取权限的物理表(非Dataphin自动生成的物理表)、逻辑表、视图(非参数化视图)。
如何获取物理表的读取权限,请参见申请、续期和交还表权限。
字段列表
选择您需要添加的字段。
说明您可通过切换来源表方式选择多个来源表中的字段。
已选择字段
添加的字段将被添加到已选择字段。您可对已选择字段进行删除操作。
单击添加,为维度逻辑表引入某物理表的字段。
添加至新建字段区域后,您可以根据业务情况编辑字段的名称、数据类型、字段类别及关联维度。
从建表语句引入
在上述创建的维度逻辑表的配置页面,单击从建表语句引入。
在从建表语句引入对话框,填写建表语句并单击解析SQL。
在字段列表选择您需要的字段,并单击添加为维度逻辑表新建字段。
添加关联维度
在维度逻辑表的配置页面,单击关联维度列中的图标,进入编辑模型关系对话框。
在编辑模型关系对话框中,配置参数。
区块
参数
描述
空值替换值
如果主表(当前维度逻辑表)和需要关联的维度逻辑表关联不上,则Dataphin自动对关联字段补值为-110。
维度逻辑表
关联实体、维度逻辑表
选择您已创建的关联实体和维度逻辑表。
编辑关联逻辑
关联逻辑
默认展示需要关联维度的字段及关联的维度逻辑表的主键,不支持修改。
维表版本策略
定义主表(当前维度逻辑表)与关联维度逻辑表的分区,默认使用与当前维度逻辑表相同调度周期。更多说明如下:
使用同周期维度(主表与维表使用同周期分区):主表和关联维度逻辑表计算时使用相同周期的时间分区。
例如,业务日期是20220101,需要查询主表的ds=20220101分区的数据,同时关联维度逻辑表的时间分区也是20220101,则就需要选择为使用同周期维表。
使用最新维表(维表使用最新分区):数据计算时使用最新关联维度逻辑表的最新分区。
例如,某商品类目经常会调整,10天前是手机类目,今天是电器类目。如果业务上需要按照电器类目重跑10天前的数据,则维表版本策略需要选择为使用最新维表(维表使用最新分区)。
缺联策略
缺联策略用于定义来源主表(左表)中存在的字段,但在维度逻辑表(右表)中不存在的字段,即无法关联的字段的计算逻辑。您可以选择保留原始缺联数据和缺联数据使用默认值代替:
保留原始缺联数据: 创建派生指标时,保留左表原始数据。
缺联数据使用默认值代替:主表中的字段没有与维度逻辑表关联上,则使用默认值-110。
编辑维度角色
角色英文名、角色名称
维度角色具有维度别名作用。多次引用同一维度时不可重名定义,起到角色扮演效果。您需要定义角色英文名和角色名称:
角色英文名的前缀默认为
dim
,自定义部分的命名规则为:包含字母、数字或下划线(_)。
不能超过64个字符。
角色名称的命名规则:
包含中文、数字、字母、下划线(_)或短划线(-)。
不能超过64个字符。
单击确定。
步骤三:配置普通维度逻辑表计算逻辑
计算逻辑配置页面用于配置维度逻辑表的来源数据与主键间的映射关系。
单击来源配置,进入来源配置对话框并单击+添加来源对象按钮,配置来源参数。
说明建议不要在过滤条件或自定义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
选择逻辑表:支持选择当前租户下所有具有读取权限的逻辑表。
如何获取物理表的读取权限,请参见申请、续期和交还表权限。
重要使用逻辑表作为另一个逻辑表的数据来源, 会增加计算逻辑的复杂度和运维难度。
对象别名
自定义来源表别名。例如:t1,t2。
对象描述
请输入对象的描述信息。仅1000个字符以内。
过滤条件
自定义SQL的过滤条件。
单击图标,在编辑框输入内容,例如:
ds=${bizdate} and condition1=value1。
关联字段
来源对象中与逻辑表主键相对应的字段,与主键可以做等值关联。
删除
主来源不支持删除。
无主键逻辑表,删除来源将清空字段的计算逻辑。
单击确定,完成来源配置。
完成来源配置后, 将来源字段拖入计算逻辑中,您也可以单击同名字段快速映射按钮,批量将数据来源字段置入同名的逻辑表字段的计算逻辑中。
单击图标,在编辑框中可以编辑计算逻辑表达式(表达式不支持聚合函数: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,则您需要将逻辑表发布至生产环境。具体操作,请参见管理发布任务。
逻辑表发布至生产环境后,您可在运维中心查看并运维逻辑表任务。具体操作,请参见运维中心概述。