二、前提条件
在开始本操作前,请确保满足以下条件:
·已开通 DataBuddy 服务,并在目标工作空间中拥有本体建模的 Read Write 或 Read Write & Delete 功能权限。无功能权限时,模型管理 Tab 不可见或仅可查看;缺权限时请联系工作空间管理员申请。
·拥有要引用的物理表的 Catalog Table.Select 权限。模型 YAML 中引用的每张表都需要你当前账号具备 Select 权限,否则发布时校验不通过。
三、使用限制
| 限制项 | 说明 |
| 创建权限 | 仅具备本体建模的 Read Write 及以上功能权限的用户可创建 |
| 编辑形态 | 当前仅支持 YAML 编辑器,或使用自然语言借助 Buddy 辅助创建 |
| 负责人 | 模型创建者默认为 负责人,每个模型只能有一个 负责人,可转交 |
五、步骤 1:进入本体建模 → 模型管理
在工作空间左侧导航中单击本体建模 ,进入关系模型 子菜单。该页面集中展示当前工作空间内所有你可见的模型。
每个模型卡片展示模型名称、负责人、所含表数与指标数、模型描述、英文标识符以及状态标签(已发布、已下线)。
六、步骤 2:发起新建
在页面右上角单击 + 新建模型(YAML) 。系统弹出 YAML 编辑面板,左侧为表选择器,右侧为代码编辑器。
注意:说明:
注意:如果你不确定 YAML 写法,可以单击右上角查看示例 调出示例片段,或借助 Hi Buddy 入口让 AI 助手协助生成模型 YAML。
七、步骤 3:选择引用的物理表
在左侧表选择器中选择数据来源,并可快捷选择插入要在 YAML 中引用的资源:
1. 数据目录:可选择来自 TC Catalog(原生)的数据目录、或来自直连数据源,比如 Doris、StarRocks 的 Catalog、Schema 表等。
2. 逻辑视图:可选择创建的逻辑视图以及逻辑视图内的字段
3. 关系模型:可选择关系模型、关系模型内引用的表、字段、以及关系模型内创建的指标、以及指标支持的分析维度等。
八、步骤 4:编写模型 YAML
在右侧编辑器中按以下结构编写 YAML:
# 版本:1.0============================================================# 【必填】配置文件版本号,固定为 1.0version: 1.0# ============================================================# 语义模型定义# type: DEF – 新建模型(需提供完整定义)# REF – 引用已有模型(只需 name + type)# ============================================================model: # 【必填】模型英文名,1-50字符,支持字母、数字、下划线、括号 name: ecommerce_order_model # 【可选】模型别名列表,支持多个,不允许含逗号 # 为空时默认使用 name;存入数据库时以逗号分隔存储 label: – 电商订单模型 – order_model_alias # 【可选】模型描述 description: "电商业务订单主模型,关联用户表和商品表" # 【必填】模型类型:DEF(定义新模型) | REF(引用已有模型) type: DEF # 【DEF必填】主表数据源路径,格式:catalogName.databaseName.tableName source: default_catalog.ecommerce_db.orders # 【可选】关联表配置,支持嵌套 JOIN joins: – name: user_table # 关联表别名(必填) source: default_catalog.ecommerce_db.users # 关联表路径(必填) on: # 关联条件(必填,至少一个) – source.user_id = user_table.id # 嵌套关联(可选) joins: – name: user_address source: default_catalog.ecommerce_db.addresses on: – user_table.id = user_address.user_id – name: product_table source: default_catalog.ecommerce_db.products on: – source.product_id = product_table.id
YAML 关键字段说明:
| 字段 | 是否必填 | 说明 |
| version | 是 | YAML schema 版本,当前固定为 1.0 |
| model.name | 是 | 模型英文标识,仅支持小写字母 / 数字 / 下划线,工作空间内唯一 |
| model.label | 是 | 模型别名,用于列表卡片与详情页展示 |
| description | 否 | 模型描述,建议简述业务域与覆盖范围 |
| model.type | 是 | 取值:DEF(新建模型,需提供完整定义)/ REF(引用已有模型,仅需 name + type) |
| model.source | 是 | 模型主表的三段路径 catalog.schema.table |
| model.joins | 多表必填 | 表与表的 Join 关系;当前仅在多表模型时必须声明 |
注意:模型 YAML 中引用的每一张表都必须在当前账号下具备 Table.Select 权限。发布时系统会逐表校验,缺权限的表会在 YAML 编辑器中以警告提示,并阻断发布流程。
九、步骤 5:发布模型
模型 YAML 编辑完成后,单击左下角发布 :
1. 系统先做语法校验,校验项包括:YAML 格式、字段必填、表 Select 权限、维度字段是否存在、Join 字段是否存在等。
2. 校验通过后弹出确认弹窗。
3. 单击确认后模型进入「已发布」状态,模型卡片显示绿色 已发布 标签。
发布后,你可以:
·在该模型上 定义指标与维度。
·在模型详情页的「授权」Tab 给其他用户授予 Manage / CreateMetric 权限。
·通过 Buddy 让 AI 协助创建指标。
十、步骤 6:转交 Owner(可选)
每个模型只能有一个 Owner,默认为创建者。如需转交:
1. 进入模型详情页 → 右侧抽屉「基本信息 > 负责人」→ 鼠标 hover 后,出现修改的小笔 ICON,单击后即可转交 Owner 。
2. 选择目标用户后提交,系统弹出二次确认。
3. 转交后原 Owner 失去删除模型与转交模型的权限;如仍需操作,可由新 Owner 授予 Manage 权限。
十一、通过 Buddy 创建模型
支持在 Buddy 中用自然语言描述需求,由 AI 协助生成模型 YAML 并完成发布。常见对话示例:
帮我用 dlc.default_catalog.olist.orders 和 users 表建一个 Olist 电商销售模型,关联键是 user_id
Agent 在执行写操作(创建、修改、发布、下线、删除)前会先校验权限:
·若你没有「模型管理」的功能权限,Buddy 会拦截操作并提示:「你当前暂无创建语义模型的权限,可联系工作空间管理员 XXX 申请开通『语义模型 → 模型管理的读写删权限』后再操作;也可以直接提交需求,由语义层管理员 XXX 为你协助创建。」
·若你有创建权限但缺少所需表的 Select 权限,Buddy 会列出缺权限的表名与对应表 负责人,引导你线下申请。
十二、模型详情页
模型发布后,在「模型管理」列表页单击任一模型卡片即可进入模型详情页 。详情页是模型上线后进行结构查看、指标与维度管理、权限配置的主入口。
十三、页面整体结构
详情页整体分为三个区域:
·顶部栏 :展示模型名,与状态标签(已发布 / 已下线);右侧按当前 Tab 上下文展示操作按钮,常驻有「编辑」和「下线」,进入「权限」Tab 时还会出现「授权」按钮。
·主内容区 :以 Tab 形式提供四个视图,依次为「实体关系」(默认)、「关联指标」、「关联维度」、「权限」。
·右侧信息栏 (「实体关系」Tab 下展示):包含三组信息
·基本信息 :别名、描述、负责人、状态。
·技术信息 :创建时间、创建人、最近更新时间、变更人。
·模型信息 :关联表数、指标数、维度数。
十四、实体关系 Tab
默认进入的 Tab,以画布 形式可视化展示模型内物理表之间的关联关系:
·每张表对应一个表卡片,顶部展示表名(含 catalog.schema.table 三段路径),下方按字段顺序列出字段名、数据类型与中文说明;
·表与表之间的连线对应 YAML 中声明的 joins 关联关系;
·画布右上角提供放大、缩小、宽屏、全屏等视图控制,便于在多表、字段多的场景下浏览。
十五、关联指标 Tab
以表格 形式列出该模型上已定义的全部指标:
| 列 | 说明 |
| 指标名 / 指标别名 | 指标的英文标识与中文标签 |
| 指标类型 | 原子指标 / 衍生指标 |
| 衍生类型 | 当指标类型为衍生指标时显示具体子类型(筛选型 / 累积计算型 / 同环比计算型 / 混合计算型 / 转化计算型) |
| 指标口径 | 指标的计算 SQL 摘要 |
| 来源表 | 指标所引用的物理表 |
| 负责人 | 指标 Owner |
| 最近修订时间 | 最近一次编辑或发布的时间 |
| 操作 | 单条「编辑」「下线」 |
表格上方提供批量授权按钮,勾选多个指标后可统一发起授权。
十六、关联维度 Tab
以表格 形式列出该模型引用的全部维度:
| 列 | 说明 |
| 维度名 / 维度别名 | 维度的英文标识与中文标签 |
| 描述 | 维度的业务说明 |
| 维度类型 | 普通维度 / 时间维度 / 字典维度等 |
| 维度值信息 | 维度的取值特征,例如时间维度会显示「最小颗粒:日」 |
| 负责人 | 维度 Owner |
| 关联字段 | 维度在底层表上对应的物理字段路径 |
| 最近修订时间 | 维度的最近一次修订时间 |
十七、权限 Tab
以表格 形式展示模型及其指标的授权情况:
| 列 | 说明 |
| 授权对象 | 被授权的用户 / 用户组 |
| 类型 | 用户 / 用户组 |
| 权限点 | Manage / Create Metric / Query 等具体权限点 |
| 表权限 | 授权对象是否对模型引用的所有物理表都具备 Table.Select 权限(齐全 / 缺失) |
| 维度 | 授权对象可查询的维度范围 |
| 维度值范围 | 授权对象可查询的维度值范围(行权限) |
| 过滤关系 | 多个维度值之前的关系 |
| 授予人 | 发起此次授权的用户 |
| 授权时间 | 授权生效时间 |
| 操作 | 「编辑」「回收」 |
表格上方支持按关键字搜索用户、用户组,并可按权限范围筛选;右上角单击授权,可发起新的授权任务,弹出模型授权弹窗(详见 模型授权);表格内单条编辑按钮可对已有授权进行权限点变更,回收按钮可撤销已授予的权限。
十八、模型授权
单击「权限」Tab 右上角的「授权 」按钮后,会弹出「模型授权 | <模型名> 」弹窗,用于把模型的某项或多项权限授予指定用户、用户组。
弹窗自上而下包含三块内容:
十九、1. 授权主体(必填)
·可选择:用户、用户组、标签
20、2. 授权对象(必填)
·如果授权主体选用户:此处展示选用户面板,支持搜索用户;至少添加 1 个
·如果授权主体选用户组:此处展示选用户组面板,支持搜索用户组;至少添加 1 个
·如果授权主体选标签:无需选择授权对象,仅需选下面的授权点即可
21、3. 授权点(必填,至少勾选 1 项)
字段标签:授权点 *,下方为可勾选的权限点卡片,每个权限点包含「能力说明」与「适用范围」两行说明:
| 权限点 | 能力说明 | 适用范围 |
| Create Metric | 可基于该模型创建新指标 | 允许在该模型上定义原子指标 / 衍生指标,但不能修改模型本身 |
| Manage | 可管理模型 | 允许编辑 / 发布 / 下线模型;删除模型仅 Owner 可操作 。并要求被授权用户对模型内所有底层表均拥有 Select 和 Browse 权限 ,否则授权成功后该用户实际操作底层表相关动作时会被拦截 |
| Query All Metrics | 可查全部指标 | 快速给用户授予该模型下所有指标的查询权限。 |
·三个权限点可同时勾选,也可只勾选其中之一。
·校验规则 :若未勾选任何权限点就单击确认授权,字段下方会红字提示请选择权限点 ,且不会发起授权请求。
22、4. 授权原因(选填)
·字段标签:授权原因。
·控件:多行文本输入框,占位提示为请简要说明本次授权的业务背景…。
·用于审计与事后追溯,建议填写本次授权的业务目的或来源工单号;不填也可以提交。
23、5. 提交与生效
·弹窗底部右侧提供两个按钮:取消 (关闭弹窗,丢弃已填内容)与确认授权 (提交授权任务)。
·单击「确认授权」后:
1.1 系统对表单进行必填校验(授权对象、授权点),校验失败时在对应字段下方给出错误提示。
1.2 校验通过后写入授权记录,授权对象立即获得对应权限点;新授权会作为一条新行出现在「权限」Tab 表格中。
1.3 若被授权用户对模型底层表存在 Select / Browse 权限缺失,权限 Tab 中对应行的「表权限」列会显示「缺失」,但本次授权仍会生效。
24、常见问题
Q1:模型创建后能修改引用的表吗?
可以。在模型详情页单击编辑 重新进入 YAML 编辑器,修改后重新发布即可让新结构生效。
Q2:模型发布后还能下线吗?
可以。在模型详情页单击下线 后模型状态回到「已下线」,下游对该模型的指标查询会立即失败。下线模型可重新发布。
Q3:删除模型会影响其上的指标吗?
会。删除模型前必须先删除该模型上所有指标,否则系统拦截删除操作。删除后模型不可恢复。
Q4:模型 Owner 与模型管理员(Manage)有什么区别?
Owner 拥有全部权限,包括转交 Owner 与删除模型;Manage 拥有除转交与删除外的全部权限。一个模型只能有一个 Owner,但可以同时存在多个 Manage 用户。
25、相关文档
·什么是语义模型
·定义指标与维度