新建维度
维度建模包含维度、维度表和事实表三个部分。
维度是用于观察和分析业务数据的视角,支撑对数据汇聚、钻取、切片分析,用于SQL中的GROUP BY条件。维度多数具有层级结构,如:地理维度(其中包括国家、地区、省以及城市等级别的内容)、时间维度(其中包括年度、季度、月度等级别的内容)。
对系统的影响
维度发布并通过审核后,系统会自动创建与维度相对应的维度表,维度表的名称和编码均与维度相同。
新建维度并发布
- 在DataArts Studio控制台首页,选择对应工作空间的“数据架构”模块,进入数据架构页面。
- 在数据架构控制台,单击左侧导航树中的“模型设计 > 维度建模”,选择“维度”页签进入维度页面。
- 在左侧主题目录中选中一个对象,然后单击“新建”,或者直接单击“新建”按钮,开始新建维度。
在新建维度之前,如果您尚未添加主题信息,请先参考主题设计添加主题信息。
- 在“新建维度”页面,根据页面提示配置参数。
“基本配置”和“物化配置”,设置如下:
图1 配置参数
表1 基本配置 参数名称
说明
*所属主题
下拉框中选择相应的主题。
*维度名称
只允许除\、<、>、%、"、'、;及换行符以外的字符。
*维度英文名称
只能包含英文字母、数字和下划线,且只能以dim_开头。
*维度类型
- 普通维度:不具有层级结构的维度。
- 码表维度:基于码表创建的维度,其字段信息、数据与码表保持一致,表示内容是可枚举的维度。
- 层级维度:属性之间具有层级结构的维度。
高级配置
设置自定义项,以对表进行描述。自定义项设置完成后仅可用于在表详情中进行查看,无特殊需求时无需设置。
例如您需要标识该表的来源时,可以设置自定义项配置名为“来源”,值为对应的表来源信息。配置完成后可以在表详情中查看该信息。
*资产责任人
在下拉列表中选择维度所属的资产责任人,可以手动输入名字或直接选择已有的责任人。
*描述
描述信息。支持的长度为1~600个字符。
表2 物化配置 参数名称
说明
*数据连接类型
在下拉列表中选择数据连接类型。
*数据连接
选择所需要的数据连接。
如果您还未创建与数据源之间的数据连接,请前往DataArts Studio管理中心控制台进行创建,详情请参见配置DataArts Studio数据连接参数。
*数据库
选择数据库。如果您还未创建数据库,可以前往DataArts Studio数据开发控制台进行创建,详情请参见新建数据库。
队列
DLI队列。该参数仅DLI连接类型有效
Schema
DWS或POSTGRESQL的模式。该参数在DWS或POSTGRESQL连接类型有效。
表类型
DLI模型的表支持以下表类型:- Managed:数据存储位置为DLI的表。
- External:数据存储位置为OBS的表。当“表类型”设置为External时,需设置“OBS路径””参数。OBS路径格式如:/bucket_name/filepath。
DWS模型的表支持以下表类型:
- DWS_ROW:行存表。行存储是指将表按行存储到硬盘分区上。
- DWS_COLUMN:列存表。列存储是指将表按列存储到硬盘分区上。
- DWS_VIEW:视图存表。视图存储是指将表按视图存储到硬盘分区上。
MRS_HIVE模型支持HIVE_TABLE和HIVE_EXTERNAL_TABLE。
MRS_SPARK模型支持HUDI_COW和HUDI_MOR。
POSTGRESQL模型仅支持POSTGRESQL_TABLE。
MRS_CLICKHOUSE模型仅支持CLICKHOUSE_TABLE。
Oracle模型仅支持ORACLE_TABLE。
MySQL模型仅支持MYSQL_TABLE。
压缩等级
当数据连接类型为DWS时,可选择压缩等级,以减少数据存储成本。
不同表类型可选以下压缩等级:
- DWS_ROW:“NO”、“YES”。
- DWS_COLUMN:“NO”、“LOW”、“MIDDLE”、“HIGH”。
- DWS_VIEW:不支持设置压缩等级。
DISTRIBUTE BY
该参数仅DWS连接类型有效。可选取多个字段。
- REPLICATION:在每一个DN节点上存储一份全量表数据。这种存储方式的优点是每个DN上都有此表的全量数据,在join操作中可以避免数据重分布操作,从而减小网络开销;缺点是每个DN都保留了表的完整数据,造成数据的冗余。一般情况下只有较小的维度表才会定义为Replication表。
- HASH:采用这种分布方式,需要为用户表指定一个分布列(distribute key)。当插入一条记录时,系统会根据分布列的值进行hash运算后,将数据存储在对应的DN中。对于Hash分布表,在读/写数据时可以利用各个节点的IO资源,大大提升表的读/写速度。一般情况下大表(1000000条记录以上)定义为Hash表。
PreCombineField
该参数仅SPARK连接类型有效。
路径
该参数仅数据源为MRS_HIVE且表类型选择HIVE_EXTERNAL_TABLE时有效。
只支持英文字母、数字、左斜杠(/)、英文句号(.)、中划线(-)、下划线(_)、冒号(:)。
在“属性配置”中添加维度属性,单击“新建”按钮,可以添加多个维度属性。
图2 属性配置
表3 属性配置 参数名称
说明
属性名称
只允许除\、<、>、%、"、'、;及换行符以外的字符。
属性英文名称
只能包含英文字母、数字和下划线,且英文字母开头。
数据类型
根据原始数据定义数据类型。
数据标准
单击按钮可以选择一个数据标准与字段相关联。在“模型设计业务流程步骤 > 创建质量作业”勾选的情况下,将字段关联数据标准后,维度发布上线后,就会自动生成一个质量作业,每个关联了数据标准的字段会生成一个质量规则,基于数据标准对字段进行质量监控,您可以前往DataArts Studio数据质量模块的“质量作业”页面进行查看。
页面中的如果您还未创建数据标准,请参见新建数据标准进行创建。
密级
单击按钮可以为逻辑实体属性添加密级。
如果没有您想要的密级,可点击跳转到数据安全界面中创建需要的密级。
如不使用该功能,可在配置中心 > 模型设计中关闭该功能。
代理键
请根据业务需求选择合适的字段作为代理键。系统默认第一个维度属性为代理键。
主键
请根据业务需求选择合适的字段作为主键。
说明:数据连接为MRS Spark连接(通过MRS Spark连接支持MRS Hudi数据源)时,由于Hudi的限制,必须存在字段主键才能数据落库成功,否则会导致表同步失败。
分区
是否设置为分区字段。
不为空
是否限制该字段不为空。
描述
输入维度属性的描述信息。
稽核状态
表示是否进行数据标准稽核。
操作
相关操作按钮。
在“映射配置”页签,单击“新建映射”,创建维度的映射(映射是指维度与物理模型源表的映射)。需配置如下参数:
图3 映射配置
表4 映射参数 参数名称
说明
*映射名称
只能包含中文、英文字母、数字和下划线。
*来源模型
在下拉列表中选择一个已创建的关系模型。如果未创建关系模型,请参见关系建模进行创建。
*源表
选择数据来源的表,如果数据来源于一个模型中的多个表,可以单击表名后的按钮为该表和其他表之间设置JOIN。
- 选择一种“JOIN方式”,“JOIN方式”从左到右依次表示left JOIN、right JOIN、inner JOIN、outer JOIN。
- 在“JOIN字段”中设置JOIN条件,JOIN条件一般选择源表和JOIN表中含义相同的字段,单击或按钮增加或删除JOIN条件。JOIN条件之间是and的关系。
- 单击“确定”完成设置。
- 设置JOIN后,如果想删除JOIN表,单击所需删除的表名后的按钮就可以删除该JOIN表。
图4 JOIN条件
字段映射
为来源于当前映射的字段,依次选择一个含义相同的源字段。如果表字段来源于多个模型,您需要新建多个映射,每个映射中,您只需要为来源于当前映射的字段设置源字段,其他字段可以不设置。
在映射区域的右上角,单击按钮,可以删除指定的映射,单击可以收起映射区域。
- 配置完成后,单击“发布”。
企业模式下,进行发布时,可以选择发布到生产环境或开发环境。默认发布到生产环境,不勾选则无法发布。
- 在弹出对话框中,选择审核人,单击“确认提交”,提交维度的发布审核。
如果当前用户已被添加为审核人,则可以勾选“自助审批”,单击“确认提交”后,状态显示为“已发布”。
选择审核人时,系统支持选择多个审核人,全部审批通过后,状态才会显示为已发布。如果有任意一个人驳回,则状态为已驳回。
- 可以参照步骤3~步骤6,完成其他维度的创建。
- 完成所有维度的新建之后,需要等待审核人员审核。
审核通过后,系统会自动创建与维度相对应的维度表,维度表的名称和编码均与维度相同。在“维度建模”页面,选择“维度表”页签,可以查看建好的维度表。
在维度表列表中,在“同步状态”一列中可以查看维度表的同步状态。
图5 维度表的同步状态
- 如果同步状态均显示成功,则说明维度发布成功,维度表在数据库中创建成功。
- 如果同步状态中存在失败,可单击该维度表所在行的“发布历史”,然后在展开的页面中进入“发布日志”页签查看日志。请根据错误日志定位失败原因,问题解决后,您可以返回维度表页面勾选该维度表,再单击列表上方的“同步”按钮尝试重新同步。如果问题仍未能解决,请联系技术支持人员协助处理。
企业模式下,进行同步时,可以选择同步到生产环境或开发环境。默认同步到生产环境,不勾选则无法同步。
编辑维度
- 在数据架构控制台,单击左侧导航树中的“维度建模”,进入相应页面后,选择“维度”页签。
- 在维度列表中找到需要编辑的维度,单击“编辑”,进入编辑维度页面。
- 根据实际需要编辑维度的相关信息,参数配置请参考配置参数。
- 单击“保存”,保存所做的修改。或者,单击“发布”,发布修改后维度。
企业模式下,进行发布时,可以选择发布到生产环境或开发环境。默认发布到生产环境,不勾选则无法发布。
发布维度
如果新建了维度但并未发布,可以执行以下步骤发布维度:
- 在数据架构控制台,单击左侧导航树中的“维度建模”,进入相应页面后,选择“维度”页签。
- 在维度列表中找到需要发布的维度,单击“发布”。
- 在弹出对话框中,选择审核人,单击“确认提交”,审批完成后,完成维度的发布。
企业模式下,进行发布时,可以选择发布到生产环境或开发环境。默认发布到生产环境,不勾选则无法发布。
您也可以执行以下步骤批量发布维度:
- 在数据架构控制台,单击左侧导航树中的“维度建模”,进入相应页面后,选择“维度”页签。
- 在维度列表中勾选需要发布的维度,单击列表上方的“发布”。
- 在弹出对话框中,选择审核人和作业调度时间,单击“确认提交”,审批完成后,完成维度的发布。
企业模式下,进行发布时,可以选择发布到生产环境或开发环境。默认发布到生产环境,不勾选则无法发布。
注意,此处“数据质量作业调度时间”指的是维度发布后,自动创建质量作业的调度时间。图6 批量发布维度
下线维度
对于已发布的维度,可以执行以下步骤下线维度:
- 在数据架构控制台,单击左侧导航树中的“维度建模”,进入相应页面后,选择“维度”页签。
- 在维度列表中找到需要下线的维度,单击“更多 > 下线”。
- 在弹出对话框中,选择审核人,然后单击“确认提交”,审批完成后,完成维度的下线。
您也可以执行以下步骤批量发布维度:
- 在数据架构控制台,单击左侧导航树中的“维度建模”,进入相应页面后,选择“维度”页签。
- 在维度列表中勾选需要发布的维度,单击列表上方的“更多 > 下线”。
- 在弹出对话框中,选择审核人,单击“确认提交”,审批完成后,完成维度的下线。
删除维度
如果您已不再需要某个维度,可以删除该维度。如果待删除的维度已发布,则无法执行删除操作,您必须先将该维度下线后,才能执行删除操作,具体操作请参见下线维度。
- 在数据架构控制台,单击左侧导航树中的“维度建模”,进入相应页面后,选择“维度”页签。
- 在维度列表中找到需要删除的维度,勾选该维度,然后单击维度列表上方“更多”中的“删除”按钮。
- 在系统弹出的“删除”对话框中,确认无误后,单击“确定”将维度删除。
删除弹框中的“删除物理表”勾选后,删除时将同步删除数据库里的物理表。
通过逆向数据库导入维度
通过逆向数据库,您可以从其他数据源中将一个或多个已创建的数据库表导入到维度目录中,使其变成维度。
- 在数据架构控制台,单击左侧导航树中的“维度建模”,进入维度建模页面。
- 在维度列表上方,单击“逆向数据库”。
- 在“逆向数据库”对话框中,配置如下参数,然后单击“确定”。
表5 逆向数据库配置 参数名称
说明
*所属主题
在下拉列表中选择所属主题。
*数据连接类型
在下拉列表中将显示逆向数据库支持的数据连接类型,请选择所需要的数据连接类型。
*数据连接
选择数据连接。
如需从其他数据源逆向数据库到维度目录中,需要先在DataArts Studio管理中心创建一个数据连接,以便连接数据源。创建数据连接的操作,请参见配置DataArts Studio数据连接参数。
*数据库
选择数据库。
*Schema
下拉选择Schema。该参数仅DWS和POSTGRESQL模型的表有效。
队列
DLI队列。仅当“数据连接类型”选择“DLI”时,该参数有效。
更新已有表
如果从其他数据源逆向过来的表,在维度中已存在同名的表,选择是否更新已有的维度。
名称来源
逆向后表名称/字段名称的来源,可以是描述或者是相应英文名,如表/字段未指定描述则固定使用英文名。
- 来自描述
- 来自英文名称
*数据表
选择全部或部分需导入的数据表。
图7 逆向配置
- 逆向数据库的结果会在“上次逆向”页面中显示。如果逆向成功,单击“关闭”。如果逆向失败,您可以查看失败原因,问题解决后,选中失败的表,然后单击“重新逆向”进行重试。
图8 逆向结果