数据建模
概述
数据建模是一种分析与设计方法,用于定义分析数据需求,设计满足需求的数据结构,是反应数据需求和设计的数据说明与相关模型图的集合。大数据的数仓建模正是通过建模的方法,更好的组织、存储数据,以便在性能、成本、效率和数据质量之间找到最佳平衡点。
数据建模的好处:
- 企业业务庞大,数据结构复杂,事前规划可以使数据管理更加规范、有序,便于后期进行问题定位;
- 强化事前治理,为数据标准落地提供抓手,保证平台的建表和数据的产出,符合数据标准和数据质量的要求。
功能介绍
数据建模支持数仓规划设计,通过维度建模(维度表、事实表、汇总表、应用表),构建出业务的数据模型,通过数据标准和指标对模型结构进行统一的描述和约束。根据不同的存储引擎与模型定义生成DDL,对建模进行物化生成实际的物理表,利用模型之间的关系以及指标定义自动生成DML用于数据生产,并且根据数据标准生成数据质量作业对物理表的数据进行质量监控。
除此之外,还将建模数据同步给数据资产和数据血缘用于生成相关的统计信息。
数据建模各部分模块功能介绍如表一所示。
表一 数据建模模块功能介绍
名称 | 描述 |
---|---|
数仓规划 | 数仓规划支持根据业务场景或业务数据设计数据的分层,使得数据的整个生命周期层次清晰,依赖直观。综合考虑当前应用广泛的数仓分层策略,EDAP默认将数仓划分为以下五层: · 数据引入层 ODS (Operational Data Store) · 数据关系层DWR(Data Warehouse Relationship) · 明细数据层 DWD (Data Warehouse Detail · 汇总数据层 DWS (Data Warehouse Summary) · 应用数据层 ADS (Application Data Service) |
关系建模 | 关系建模支持将各个系统中的数据以整个企业角度按主题进行相似性组合和合并,并进行一致性处理,为数据分析决策服务。采用范式,降低数据冗余,保证数据的一致性。 · 第一范式:属性不可切割; · 第二范式:不能存在部分函数依赖; · 第三范式:不能存在传递函数依赖。 |
维度建模 | 第一范式:属性不可切割; 第二范式:不能存在部分函数依赖; 第三范式:不能存在传递函数依赖。维度建模支持根据数仓分层建立对应的数据模型,通过简单易上手的界面设计,对数据进行精确建模逻辑模型,通过物化与作业开发落地物理模型。根据数仓分层设计,EDAP将维度建模分为以下四种表: · 维度表 (Dimension Table) · 事实表 (Fact Table) · 汇总表 (Summary Table) · 应用表 (Application Table) |
模型审核 | 模型审核支持通过审核流程,提升数据模型、数据指标创建、变更、废弃的严肃性。数据模型的发布状态分为以下三种: · 未发布 · 已发布 · 已废弃 |
核心概念
表二 核心概念说明
名称 | 概念说明 |
---|---|
数据模型 | 数据模型是数据特征的抽象,它从抽象层次上描述了系统的静态特征、动态行为和约束条件,为数据库系统的信息表示与操作提供一个抽象的框架。数据模型是指现实世界数据特征的抽象,用于描述一组数据的概念和定义。数据模型管理是指在信息系统设计时,参考逻辑模型,使用标准化用语、单词等数据要素设计数据模型,并在信息系统建设和运行维护过程中,严格按照数据模型管理制度,审核和管理新建和存量的数据模型。数据模型所描述的内容有三部分,分别是数据操作、数据约束和数据结构。 |
数据操作 | 数据模型中数据操作主要描述在相应的数据结构上的操作类型和操作方式。 |
数据约束 | 数据模型中的数据约束主要描述数据结构内数据间的语法、词义联系、它们之间的制约和依存关系,以及数据动态变化的规则,以保证数据的正确、有效和相容。 |
数据结构 | 数据模型中的数据结构主要描述数据的类型、内容、性质以及数据间的联系等。数据结构是数据模型的基础,数据操作和约束都建立在数据结构上。 |
数仓分层 | 数仓分层是根据业务数据的场景,结合现有应用广泛的数仓理论,将数据按照层次进行划分,使得数据之间的依赖关系更加清晰,数据的生产与加工有迹可循。 |
关系建模 | 关系建模用实体加关系描述的数据模型描述企业业务架构,在范式理论上符合3NF,是站在企业角度,而不是针对某个具体业务流程,它更多是面向数据的整合和一致性治理。建模过程先设计概念模型,再进一步细化设计出逻辑模型,最后设计物理模型。 |
维度建模 | 维度建模以分析决策的需求为出发点构建模型,一般有较好的大规模复杂查询的响应性能,更直接面向业务。因此,它重点解决用户如何更快速完成分析需求,同时还有较好的大规模复杂查询的响应性能。 |
数仓规划
随着数据的增长,数据治理的难度不断增大。大多数情况下,数据体系是依赖复杂、层级混乱的。如何使得数据能够有秩序地流转,数据的整个生命周期能够清晰明确被感知到。数仓规划是其中重要的一环,通过数仓进行合理科学分层,能够较为有效地梳理数据之间的依赖关系,使得数据清晰明了。EDAP中数仓分层详细信息如表三所示。
表三 数仓分层详细信息
分层类型 | 中文名称 | 英文名称 | 分层描述 | 模型类型 | 命名前缀 |
---|---|---|---|---|---|
ODS | 数据引入层 | ODS | 存放未经处理的原始数据,表结构与源系统保持一致。 | 贴源表 | ods_ |
DWR | 数据关系层 | DWR | 对ODS层的数据进行清洗,可以采用关系建模的方式维护数据关联关系。 | 逻辑实体表 | dwr_ |
DWD | 明细数据层 | DWD | 对ods层的数据进行清洗,采用维度退化的方式对数据重新建模。 | 维度表 | dim_ |
事实表 | fact_ | ||||
DWS | 汇总数据层 | DWS | 按照业务划分和指标需求,对dwd层的数据进行汇总。 | 汇总表 | dws_ |
ADS | 数据应用层 | ADS | 存放个性化的统计指标,用于报表输出。 | 应用表 | ads_ |
ODS:保存最原始的数据,起到数据备份的作用,可以采用parquet等压缩格式;
DWR:维护原始数据间的关联关系,可以使用关系建模的方法重新建模;
DWD:代表的是业务的最小粒度层,对业务数据采用维度模型的方式重新建模(维度退化),为后续的层做准备;
DWS:关于各个主题的加工和使用,是事实表的聚合值,例如统计各个主题对象7天、30天、90天的行为,例如把主题对象单日的行为聚合起来组成一张多列宽表,关联维度信息后,从不同角度进行统计分析;
ADS:为各种统计报表提供数据。
数仓分层
- 单击导航栏中的数据架构-数据建模-数仓规划,进入数仓规划界面。
数仓规划分为五层,分别是数据引入层、数据关系层、明细数据层、汇总数据层以及数据应用层。统计属性介绍如下:
- 数据表:当前分层下所有表的数量
- 字段:当前分层下所有表的字段数量总和
- 落标率:引用了数据标准的字段/字段总数(枚举维度落标率为100%)
- 单击右侧的编辑按钮,可以对数仓分层信息进行修改。
数仓分层的参数信息如表四所示。
表四 数仓分层参数信息
参数 | 描述 |
---|---|
中文名称 | 数仓分层的中文名称,仅支持中文、数字、下划线、中划线,长度不能超过64个字符。 |
英文名称 | 数仓分层的英文名称,仅支持英文、数字、下划线、中划线,长度不能超过64个字符。 |
描述 | 数仓分层的描述,长度不能超过500个字符。 |
模型定义 | 每个数仓分层都有对应的数据模型,支持对模型的命名前缀进行修改。 |
- 单击新建表按钮,可以跳转到对应的维度建模界面创建模型。
关系建模
数仓的ODS层和DWR层均支持关系建模。
新建逻辑实体
- 单击导航栏中的数据架构-数据建模-关系建模,目前支持贴源表和关系表两项列表界面。其中,贴源表(ODS)列表存放ODS层的逻辑实体,关系表(DWR)列表存放DWR层的逻辑实体。
- 选择对应的主题域以及主题。
- 单击左上角的“新建逻辑实体”按钮进入新建页,以DWR层下新建逻辑实体为例。
- 填写基本信息部分:“逻辑实体名称”、“表中文名称”和“模型责任人”为必填项,也可根据实际需求选填“描述”项填写框。
表五 基本信息说明
字段名称 | 说明 |
---|---|
数仓分层 | 选择关系模型所属数仓层级,不可编辑,默认为数仓分层。 |
所属主题领域 | 迭选择关系模型归属的主题域,不可编辑,默认为所选择的主题域名称/主题。 |
逻辑实体名称 | 逻辑实体的名称,默认为请输入,支持英文、数字、下划线,不超过128个字符。 |
表中文名称 | 数据表中文名称,默认为请输入,支持中文、英文、数字、中划线、下划线,不超过128个字符。 |
模型责任人 | 选择关系模型的责任人,默认为请选择,下拉选择负责用户。 |
描述 | 填写逻辑实体的描述信息,默认为请输入,支持中文、英文、数字、常见的特殊字符,不超过500个字符。 |
- 填写属性定义部分,“字段定义”中除“描述”外所有项均为必填项。填写“字段名称”、“中文名称”,选择“字段类型”后,可点击蓝色关联按钮以关联标准,可在勾选框选择是否将该字段设为主键和是否允许为空,选择密级别并选填“描述”项。
若将某字段设为主键,则该字段不可勾选“允许为空”。
表六 字段定义
字段名称 | 说明 |
---|---|
字段名称 | 默认为请输入,支持英文、数字、下划线,不超过128个字符。 |
中文名称 | 默认为请输入,支持中文、英文、数字、中划线、下划线,不超过128个字符。 |
字段类型 | 默认为STRING,支持多种数据类型。 |
类型设置 | 默认为空。 |
关联标准 | 列关联的数据标准,默认不关联。 |
允许为空 | 列是否允许为空,默认不勾选为不允许,勾选为允许。 |
密级别 | 列的密级,默认为L0,下拉选择可选的密级。 |
描述 | 默认为请输入,支持中文、英文、数字、常见的特殊字符,不超过500个字符。 |
操作 | 可对列执行的操作,支持删除。 |
- 可在分区定义部分,单击蓝色按钮添加分区定义,必填项内容与字段定义中相同。
表七 分区定义
字段名称 | 说明 |
---|---|
字段名称 | 默认为请输入,支持英文、数字、下划线,不超过128个字符。 |
中文名称 | 默认为请输入,支持中文、英文、数字、中划线、下划线,不超过128个字符。 |
字段类型 | 默认为STRING,支持多种数据类型。 |
类型设置 | 默认为空。 |
关联标准 | 列关联的数据标准,默认不关联。 |
设为主键 | 默认不勾选为否,勾选为是。 |
允许为空 | 默认不勾选为不允许,勾选为允许。 |
密级别 | 默认为L0,下拉选择可选的密级。 |
描述 | 默认为请输入,支持中文、英文、数字、常见的特殊字符,不超过500个字符。 |
操作 | 可对列执行的操作,支持删除。 |
- 在关系定义部分中,单击添加关系按钮,打开添加逻辑关系弹窗页。在弹窗页内先选择“关联逻辑实体”,若选中的关联逻辑实体没有主键字段,则无法完成关联,需重新选择关联逻辑实体。选中合适的关联逻辑实体后,其主键字段回自动匹配至下方。随后,在弹窗页下拉选框选择“关联关系”,选中的关联关系与关联逻辑实体的主键字段一一对应。
注:子逻辑实体和父逻辑实体相同的关系不可重复填报。
- 添加关联关系后,可在“关系定义”部分查看到示意的关联图标。
- 点击页面左下角确认按钮,完成逻辑实体的新建操作。
查看E-R图
点击查看E-R图即可查看实体-关系图。
注:ODS层不支持查看E-R图。
维度建模
创建维度表
- 单击导航栏中的数据架构-数据建模-维度建模-维度表。
- 选择对应的主题域以及主题。
- 单击左上角的“新建表”按钮创建维度表。
- 根据新建维度表界面的提示填写参数,单击确认完成维度表的创建。维度表参数如表八所示。
- 在维度表详情界面,单击查看关联关系,查看所有跟当前维度表有关联的事实表。
表八 维度表参数
参数 | 描述 |
---|---|
表英文名称 | 维度表英文名称,支持英文、数字、下划线,长度不能超过128个字符。 |
表中文名称 | 维度表中文名称,支持中文、英文、数字、特殊字符等,长度不能超过128个字符。 |
维度类型 | 维度类型,支持普通维度和枚举维度。 |
模型责任人 | 模型责任人名称。 |
描述 | 维度表的描述,长度不能超过500个字符。 |
字段定义 | 维度表字段参数定义,详见表九。 |
分区定义 | 维度表分区参数定义,详见表九。 |
表九 维度表字段定义与分区定义参数
参数 | 描述 |
---|---|
字段名称 | 字段的名称,以英文开头,支持英文、数字、下划线,以字母开头,长度不能超过128个字符。 |
中文名称 | 字段的中文名称,支持中文、英文、数字、常见的特殊字符等,不超过128个字符。 |
数据类型 | 字段的数据类型,支持TINY、SMALLINT、VARCHAR、CHAR、ARRAY、MAP、STRING、INT、BIGINT、DOUBLE、DECIMAL、FLOAT、BOOLEAN、BYTES、DATE、TIMESTAMP。 |
类型设置 | 当数据类型为DECIMAL时,需要填写类型设置,用于精度确认。 |
关联标准 | 字段支持关联数据标准,用于规范字段。 |
代理键 | 表示维度的唯一键,作用是连接维度表和事实表,为避免数据库结构发生变化带来影响。 |
允许空 | 是否允许为空。 |
密级 | 字段保密程度等级,支持L0-L4。 |
描述 | 字段描述,长度不能超过64个字符。 |
创建事实表
1.单击导航栏中的数据架构>模型>维度建模>事实表。
2.选择对应的主题域以及主题。
3.单击左上角的“新建表”按钮创建事实表。
- 根据新建事实表界面的提示填写参数,单击确认完成事实表的创建。事实表参数如表十所示。
表十 事实表参数
参数 | 描述 |
---|---|
表英文名称 | 表英文名称,支持英文、数字、下划线,长度不能超过128个字符。 |
表中文名称 | 表中文名称,支持中文、英文、数字、特殊字符等,长度不能超过128个字符。 |
模型责任人 | 模型责任人名称。 |
描述 | 表的描述,长度不能超过500个字符。 |
字段定义 | 表字段参数定义,详见表十一。 |
分区定义 | 表分区参数定义,详见表十一。 |
表十一 事实表字段定义与分区定义参数
参数 | 描述 |
---|---|
字段类型 | 字段的类型,支持维度、度量。 |
字段名称 | 字段的英文名称,以英文开头,支持英文、数字、下划线,长度不能超过128个字符。 |
中文名称 | 字段的中文名称,支持中文、英文、数字、常见的特殊字符等,不超过128个字符。 |
数据类型 | 字段的数据类型,支持TINY、SMALLINT、VARCHAR、CHAR、ARRAY、MAP、STRING、INT、BIGINT、DOUBLE、DECIMAL、FLOAT、BOOLEAN、BYTES、DATE、TIMESTAMP。 |
类型设置 | 当数据类型为DECIMAL时,需要填写类型设置,用于精度确认。 |
关联标准 | 字段支持关联数据标准,用于规范字段。 |
关联维度 | 字段支持关联维度,维度表的代理键字段与当前字段进行关联。 |
代理键 | 表示维度的唯一键,作用是连接维度表和事实表,为避免数据库结构发生变化带来影响。 |
允许空 | 是否允许为空。 |
密级 | 字段保密程度等级,支持L0-L4。 |
描述 | 字段描述,长度不能超过64个字符。 |
创建汇总表
1.单击导航栏中的数据架构>建模>维度建模>汇总表。
2.选择对应的主题域以及主题。
3.单击左上角的“新建表”按钮创建汇总表。
4.根据新建汇总表界面的提示填写参数,汇总表参数如表十二所示。
5.单击元数据定义右上角的从指标导入(须选择维度后可操作),通过导入的方式填写字段定义与分区定义。
6.最后点击确认完成汇总表的创建。
表十二 汇总表参数
参数 | 描述 |
---|---|
表英文名称 | 表英文名称,支持英文、数字、下划线,长度不能超过128个字符。 |
表中文名称 | 表中文名称,支持中文、英文、数字、特殊字符等,长度不能超过128个字符。 |
统计维度 | 所有“已发布”的衍生指标的所有维度组合,例如:员工维度、公司维度、员工和公司维度。 |
模型责任人 | 模型责任人名称。 |
描述 | 表的描述,长度不能超过500个字符。 |
字段定义 | 表字段参数定义,详见表十三。 |
分区定义 | 表分区参数定义,详见表十三。 |
表十三 汇总表字段定义与分区定义参数
参数 | 描述 |
---|---|
字段名称 | 字段的英文名称,以英文开头,支持英文、数字、下划线,长度不能超过128个字符。 |
中文名称 | 字段的中文名称,支持中文、英文、数字、常见的特殊字符等,不超过128个字符。 |
数据类型 | 字段的数据类型,支持TINY、SMALLINT、VARCHAR、CHAR、ARRAY、MAP、STRING、INT、BIGINT、DOUBLE、DECIMAL、FLOAT、BOOLEAN、BYTES、DATE、TIMESTAMP。 |
类型设置 | 当数据类型为DECIMAL时,需要填写类型设置,用于精度确认。 |
关联标准 | 字段支持关联数据标准,用于规范字段。 |
关联维度/指标 | 字段若是维度,则关联维度;字段若是度量指标,则关联指标。 |
代理键 | 表示维度的唯一键,作用是连接维度表和事实表,为避免数据库结构发生变化带来影响。 |
允许空 | 是否允许为空。 |
密级 | 字段保密程度等级,支持L0-L4。 |
描述 | 字段描述,长度不能超过64个字符。 |
关联维度/指标
选择了统计维度才可配置。
- 关联类型:统计维度、衍生指标、复合指标;
- 关联对象:如果是统计维度,先选维度,后选字段;如果是指标,直接选择指标即可。
创建应用表
- 单击导航栏中的数据架构>建模>维度建模>应用表。
- 选择对应的主题域以及主题。单击左上角的新建表按钮创建应用表。
- 根据新建应用表界面的提示填写参数。应用表参数与汇总表保持一致。
- 单击元数据定义右上角的从指标导入,通过导入的方式填写字段定义与分区定义。
- 最后单击确认完成汇总表的创建。具体过程可参考创建汇总表,本节不进行赘述。
通用操作
发布与管理表
数据模型生命周期分为三个状态,分别是未发布、已发布、已废弃。
- 未发布:表示数据模型处于草稿状态,未发布的数据模型无法被使用,用户可以对模型进行编辑、发布、删除操作。
- 已发布:表示数据模型处于已发布状态,已发布的数据模型可以被使用,用户可以对模型进行编辑、物化、废弃操作。
- 已废弃:表示数据模型处于已废弃状态,已废弃的数据模型无法被使用,用户可以对模型进行删除操作。
发布
新建的数据模型处于草稿状态,需要发布之后才可以被正式使用。在右侧的操作栏单击“发布”按钮,即可进行发布操作。发布后,数据模型变更为已发布状态。
废弃
对于已发布的数据模型,如果不再使用,则可以进行废弃。单击右侧操作栏中的“废弃”按钮,可以对指标进行废弃操作。
当模型被其他模型或指标引用时,不支持废弃操作。
编辑
- 当数据模型处于“未发布”状态时,单击“编辑”按钮,可以对数据模型的信息进行编辑修改,单击确认之后,保存用户修改之后的模型。
- 当数据模型处于“已发布”状态时,单击“编辑”按钮,可以对数据模型的信息进行编辑修改,单击确认之后,会创建当前模型的子版本。子版本存储用户修改之后的模型,并处于“未发布”状态,支持发布、编辑、发布操作。当前父版本的信息不会改变,且父版本不支持任何操作。
当子版本发布之后,会覆盖父版本的模型,并处于“已发布”状态。
删除
当模型处于“未发布”或“已废弃”状态时,单击“删除”按钮,可以对模型进行删除。
模型物化
当模型处于“已发布”状态时,支持对模型进行物化操作,为数据模型创建同名物理表。
批量物化
1.选中“已发布”状态的一个或多个模型,单击“批量物化”按钮展开下拉选项,选择“批量物化”,并配置物化参数,可对模型进行批量物化。
如果初次物化,所选库中已有同名的数据表,则物化失败。
用户可根据需要配置物化信息,物化信息详细介绍如表十四所示。
表十四 物化配置信息介绍
参数 | 描述 | 交互 | 是否必填 |
---|---|---|---|
数据源类型 | 数据源的类型,支持EDAP、Hive和Doris | 下拉单选 | 是 |
数据源 | 取自数据源管理列表 | 下拉单选 | 是 |
数据库 | 取自数据源管理列表 | 下拉单选 | 是 |
表类型 | 仅展示 | ||
副本数 | 默认值为3 | 文本框输入 | 是 |
物化类型 | 增量发布和删除重建 | 单选 | 是 |
2.完成物化配置之后,单击下一步,可展示物化结果。
3.当发布状态为“成功”时,表示物化成功。当发布状态为“失败”时,可单击“重试”按钮或者修改相关配置重新物化;支持右下角单击全部重试按钮对“失败”模型批量重试。右下角单击确定按钮结束物化操作。
4.物化完成后,“同步状态”会更新为“同步成功”,鼠标焦点放在“同步成功”后面的眼睛图标上时,可点击气泡中“查看元数据”蓝字按钮,跳转至元数据管理页面查看详情(数据源类型为Doris,不显示“查看元数据”)。
5、单击“逻辑实体名称”蓝字按钮,跳转至模型详情页,详情页内展示逻辑实体相关信息,包括:基本信息、元数据信息、物化表信息、关系定义信息、发布历史、审核历史。
上次物化结果
1.选中“已发布”状态的一个或多个模型,单击“批量物化”按钮展开下拉选项,选择“上次物化结果”,可查看上次物化结果。
物化场景
表十五 物化场景说明
EDAP Type类型 | Doris Type类型 | 处理措施 |
---|---|---|
TINYINT | TINYINT | |
SMALLINT | SMALLINT | |
INT | INT | |
BIGINT | BIGINT | |
不支持 | LARGEINT | |
BOOLEAN | BOOLEAN | |
FLOAT | FLOAT | |
DOUBLE | DOUBLE | |
STRING | STRING | |
CHAR | CHAR | |
VARCHAR | VARCHAR | |
BYTES | STRING | |
TIMESTAMP | DATETIME | |
DECIMAL(precision, scale) | DECIMAL(precision,scale) | |
DATE | DATE | |
ARRAY | ARRAY | doris1.2版本开始支持,仅Duplicate模型 |
MAP | 不支持 | doris2.0开始支持,仅Duplicate、Unique模型;遇到低版本,则报错提示,提示内容为Doris原始错误提示 |
STRUCT | 不支持 | doris2.0开始支持,仅Duplicate模型;遇到低版本,则报错提示,提示内容为Doris原始错误提示 |
不支持 | HLL | |
不支持 | BITMAP | |
不支持 | JSON | |
不支持 | AGG_STATE |
逆向数据库
关系建模关系表(DWR)
1.选中任意主题,鼠标悬浮“逆向操作”按钮,展开“逆向数据库”和“上次逆向结果”选项。单击“逆向数据库”按钮,打开操作弹窗页。
2.单击“逆向数据库”按钮,打开操作弹窗页。首先选择数据源:选择“所属主题域”、“所属主题”、“资源类型”和“数据源链接”。
表十六 当前支持的数据源类型和版本
数据库类型 | 版本 | 对应客户的业务域 |
---|---|---|
MySQL | 8.0.26 | 标准规范 |
MySQL | 5.7.38-log | 知识产权、供应链 |
MySQL | 8.0.25 | 主数据 |
Oracle | 11.2.0.1.0 | 海外营销、市场域 |
Oracle | 11.2.0.4.0 | 合约域 |
Doris | - | - |
注:关系建模中,当前DWR层支持的数据源类型为MySQL和Oracle。
3.选择完成后可单击“立即测试”按钮,测试其连通性。测试结果无论通过与否都不影响提交。单击“下一步”按钮完成数据源的选择。
4.在数据表目录中勾选需要逆向操作的数据表,选择完成后单击“下一步”按钮。
5.进入“逆向建模”流程后,等待自动建模完成即可。完成后自动流转进入“建模结果”,可在表单中查看建模结果总览,点击“查看”蓝字按钮可跳转至逻辑实体详情页。
6.在“逆向操作”中单击“上次逆向结果”按钮,查看“上次逆向数据库”的主题及实体等。
7.同步成功的模型可以单击查看元数据。
关系建模贴源表(ODS)
- 选中任意主题,鼠标悬浮“逆向操作”按钮,展开“逆向数据库”和“上次逆向结果”选项。单击“逆向数据库”按钮,打开操作弹窗页。
- 单击“逆向数据库”按钮,打开操作弹窗页。首先选择数据源:选择“所属主题域”、“所属主题”、“数据源类型”和“数据源链接”。
注:关系建模中,ODS层支持的数据源类型为Hive和EDAP。
- 选择完成后可单击“立即测试”按钮,测试其连通性。测试结果无论通过与否都不影响提交。单击“下一步”按钮完成数据源的选择。
- 在数据表目录中勾选需要逆向操作的数据表,选择完成后单击“下一步”按钮。
- 进行前缀替换配置,选中库/表后,加载不符合表名称规范的前缀,需要选择和配置;选中的前缀将会被替换为规范前缀,其余将默认向前追加前缀。
选中表名称后,可以对表名称进行快速修改,修改后必须满足前缀规范,否则报错。
- 进入“逆向建模”流程后,等待自动建模完成即可。完成后自动流转进入“建模结果”,可在表单中查看建模结果总览,点击“查看”蓝字按钮可跳转至模型详情页。
- 在“逆向操作”中点击“上次逆向结果”按钮,查看“上次逆向数据库”的主题及实体等。
- 同步成功的模型可以点击查看元数据。
维度建模
关系建模中,ODS层支持的数据源类型为Hive、EDAP和Doris。
表类型:逆向时,后端自动识别模型类型为「Unique 唯一表」、「Aggregate 聚合表」、「Duplicate 明细表」。
逆向详情页
- 首次逆向成功:详情页面显示逆向表信息,不显示物化表信息。
- 模型发布之后:详情页面显示物化表信息、逆向表信息。
逆向状态说明
- 首次逆向成功:
- 发布状态:未发布;
- 同步状态:未同步。
- 模型发布之后:
- 发布状态:已发布;
- 同步状态:如果跟底层表名称相同,显示同步成功;如果不相同,显示未同步,可以重新物化进行同步;都可以看到“眼睛”,即都有底层物理表。
逆向场景
表十七 逆向场景说明
Doris Type类型 | EDAP Type类型 | 处理措施 |
---|---|---|
TINYINT | TINYINT | |
SMALLINT | SMALLINT | |
INT | INT | |
BIGINT | BIGINT | |
LARGEINT | STRING | |
BOOLEAN | BOOLEAN | |
FLOAT | FLOAT | |
DOUBLE | DOUBLE | |
STRING | STRING | |
CHAR | CHAR | |
VARCHAR | VARCHAR | |
不支持 | BYTES | |
DATETIME | TIMESTAMP | |
DECIMAL(precision, scale) | DECIMAL(precision,scale) | |
DATE | DATE | |
ARRAY | STRING | 默认处理为STRING |
MAP | STRING | |
STRUCT | STRING | |
HLL | STRING | |
BITMAP | STRING | |
JSON | STRING | |
AGG_STATE | STRING |
模型开发
汇总表、应用表支持对“已发布”状态且已成功物化的模型进行作业开发,创建脚本开发作业,通过脚本作业导入数据,提高开发效率。
- 选择“已发布”的汇总表或应用表,单击“开发”按钮,进入模型开发-作业配置界面。
表十八 作业开发配置信息介绍
参数 | 描述 |
---|---|
作业开发类型 | 作业开发的类型,支持HiveSQL、SparkSQL。 |
存在项目 | 选择平台已创建的项目,用于作业开发。 |
存放文件夹 | 选择作业开发项目下的文件夹。 |
- 完成作业配置之后,单击下一步,可展示作业开发结果。
- 当创建状态为“SUCCESS”时,表示脚本作业创建成功,单击确定完成创建作业开发任务。用户可根据作业的名称到对应的作业开发任务查看详情。当发布状态为“FAIL”时,可点击“重试”按钮或者修改相关配置重新创建作业。