You need to enable JavaScript to run this app.
导航
新版数据集模型配置
最近更新时间:2025.08.28 17:11:23首次发布时间:2025.07.30 15:34:25
复制全文
我的收藏
有用
有用
无用
无用

本文为您介绍 Fabric 数据建模体系,涵盖其完整配置流程、核心功能介绍以及配置流程举例。

功能概述

模型配置是数据集的基础,数据集中最终有哪些数据取决于模型的构建。Fabric 体系是新版数据集生产的核心,通过逻辑关联与传统的物理关联,支持用户以拖拽式的可视化方式,灵活、高效地构建既能满足传统宽表需求、又能应对多事实表复杂场景的统一数据模型。
Image

类别

功能模块

功能说明

配置流程

添加表节点

将数据源中的表加入模型,作为构建的基础。

建立表连接

定义不同表节点之间的关系。

选择关联方式

确定表之间是逻辑关联(关系)还是物理关联(Join)。

组合表节点

将通过物理关联的表合并为一个组合节点,该节点可作为一个整体被操作。

功能介绍

自定义SQL表节点

将一段SQL查询结果作为数据源,而非整张表。

分区筛选配置

控制抽取数据集与上游数据源分区的对应关系。

事实表/维表切换

声明表在逻辑关联中的角色。

直连/抽取切换

改变数据集连接方式。

事实表最近有数规则

控制可视化查询时,如何确定事实表的最新有效分区。

维表查询周期配置

控制查询时事实表是与维表最新分区还是历史分区进行关联。

表合并(Union)

将多张表(通常是同构表)合并为一个逻辑节点。

数据筛选

在数据同步时对表或组合表的结果进行过滤,减少数据量。

抽取参数配置

为特定数据源(如MySQL)的同步任务配置参数。

功能入口

进入「数据准备」-「数据集」页面,点击「新建」-「新建Fabric数据集」,进入新版数据集模型配置页面。
Image

数据模型配置流程

第一步:添加表节点

  1. 首先在左侧数据源列表中找到需要被添加进模型的表;
  2. 之后鼠标选中这个表,把它拖拽到中间画布,即可把这个表放在画布中,形成一个单表节点
    Image
  3. 同样的,如果需要的数据源有多个表,我们可以把它们都拖进来,形成多个单表节点

    说明

    如果将第二个表拖入了上图中建立链接的位置,它会跟第一个表自动关联上,但是后续拖入的表就不会自动关联了,需要手动进行连接。

    Image

第二步:建立多个表节点之间的连接

在画布中添加多个单表节点后,可以按照需求将多个表关联起来,关联的方式也非常简单:鼠标移动到表节点上,它的前后会出现两个圆形的标识,鼠标选中并拖动到另一个表的标识处,即可将两个表关联起来。
Image

第三步:选择两个表之间的关联方式

点击两个表连接线上的标识,可以调整两个表的连接方式,当前数据集中表的连接方式主要分为两类:

  • 逻辑关联两个表以「关系」的连接方式进行关联,无需在数据集提前配置 Join 方式,在对数据集进行查询时,会根据查询中使用到的字段自动选择 Join 方式,相比传统固定的 Join 方式更加灵活,通过「关系」建立的数据集模型也可以称之为**「关系模型」**;
  • 物理关联:两个表以「内部」、「左侧」、「完全外部」的传统 Join 方式进行关联,对应 SQL 中的「inner join」、「left join」、「full outer join」。

注意

  • 默认情况下,两个表刚建立连接时,它们之间的连接方式默认为「关系」连接。
  • 关于两类连接方式的关联逻辑说明和示例,可参考表节点关联方式说明

Image

第四步:按需组合表节点

当我们把两个单表节点的关联方式,从**逻辑关联(关系)修改为物理连接(Join)**时,这两个「单表节点」,将会合并为一个「组合单节点」。

注意

当前只有抽取数据集存在组合单节点,直连数据集的节点不支持组合。

Image
「组合单节点」整体可以继续和其他「组合单节点」或「单表节点」之间进行逻辑关联(关系)。
Image
如果「组合单节点」和其他节点直接的关联方式,从逻辑关联(关系)修改成任意其他物理关联(Join)的方式,则这两个节点,会合并在一起成为一个更大的「组合单节点」。
如果想要将某个表从「组合单节点」中拿出来,则将它们的关联方式再修改成「关系」即可。
Image
如果将「组合单节点」中的任意一个表,与一个新拖入画布中的表构建关联,则这个新的表会被自动加入到这个「组合单节点」中,它们之间会自动构建物理关联
Image
表节点组合的作用
逻辑关联(关系)和物理关联(Join)可以组合使用,以让我们的数据集模型建设更加灵活**:**

  • 单表节点自身构成一个物理表,「组合单节点」内的所有表 Join 的结果整体构成一个物理表;
  • 表节点和表节点之间可以再进行逻辑关联,构成逻辑表。

Image

数据模型功能介绍

自定义 SQL 表节点的使用

默认情况下,将一个表拖入到模型配置的画布中时,会将这个表对应分区的完整数据进行抽取。
不过有时候,我们会想先对表中的数据进行预处理,之后再作为数据集的数据源,此时可以选择使用数据集的「自定义 SQL 表节点」。

注意

不是所有数据源类型都支持使用自定义 SQL 表节点,如果左侧没有这个选项,代表该数据源不支持,具体可参考数据连接概述

Image

  • 自定义 SQL 表节点也可以正常和其他的表节点进行关联。
    Image

数据源分区筛选的配置

对于抽取数据集,当数据集模型中,使用了带有分区的数据源表时,点开该表节点,可以在数据筛选处找到「分区筛选」的选项。
由于数据集的数据同步,相当于将表节点的关联的结果生成一个对应的 SQL,之后通过数据同步任务将 SQL 查询结果同步至数据集的数据底表,因此这里的分区筛选配置,将会影响数据集每个分区中会同步数据源表哪个分区的数据。

业务需求

分区筛选的填写

数据集分区与上游数据源分区一致

${DATE}、${date} / ${HOUR} 、${hour}
(取决于分区字段的格式)

数据集分区与上游数据源分区不一致

${DATE-n}、${date-n} / ${HOUR-n}、${hour-n}
(取决于分区字段的格式)

  • 这里演示的主要是整表引用的表节点,对于使用了自定义 SQL 的表节点,自定义 SQL 的查询结果会作为数据集的数据源,因此可以在写 SQL 的时候,通过添加分区字段的筛选来调整。
    Image

事实表和维表的切换

多事实表模型是数仓建设中非常常见的数据模型,在 DataWind 中使用关系连接建设多事实表模型相比于传统的 Join 具有非常大的优势,由于关系模型的表之间并不是传统的 Join 连接,因此需要配置这些表是属于事实表还是维表。关于事实表和维表的概念,可以查看文档:Fabric 模型概述
事实表和维表的切换有两种方式:

  • 可以选中某个表节点,之后在展开的节点配置处切换类型。
    Image
  • 或者通过表节点右上角展开的选项切换类型。
    Image
  • 当数据集模型中存在「组合单节点」与其他「单表节点」的关联,「组合单节点」内部物理关联的结果整体也可以作为一个事实表或维表,同样也可以通过上述的方式进行切换。

    说明

    「组合单节点」内的「单表节点」之间由于是传统的 Join 方式,因此不存在是否事实表的概念。

    Image

直连和抽取的切换

点击右上角的更多选项,可在当前模式的箭头中,点击「切换成xx」状态,请注意,在数据集保存之后,不再支持数据抽取与直连之间的切换。
Image

事实表最近有数规则与维表查询周期配置

当数据集中使用到了「关系」连接(Fabric 模型)时,数据集各个表节点之间的同步会独立进行,由于不同表的数据产出时间和数据量不同,对应表节点的同步完成时间也会不一样;
因此在某个时间点对数据集查询的时候,不同表节点的最新分区日期可能不同,对于这种场景,可以通过事实表和维表的配置项,来控制对数据集查询时,分区筛选的取值范围。关于各选项的具体影响,可参考事实表最近有数规则与维表查询周期配置

  • 事实表最近有数规则:会影响可视化查询页面,分区筛选的最近有数一天如何取值;
    Image
  • 维表查询周期配置:会影响在可视化查询时,事实表所有分区只 Join 维表最新一个分区,还是 Join 维表对应的数据分区。
    Image

表之间的 Union

在数据集的模型配置中,支持对多个表进行合并,形成一个表节点,操作入口在表节点的右上角处,在展开的选项中选择「创建合并关系」。
Image
之后将需要参与合并的表拖入,即可合并两个表,并且该节点名称也会自动修改为 Union 表节点。
Image

数据筛选配置

当数据集模型配置时,使用了整表节点进行抽取时,支持对表节点配置数据筛选,添加筛选后,数据集在同步数据时,将只会包含经过了筛选的数据。
数据筛选主要分为「单表节点筛选」和「组合单节点筛选」。

单表节点的数据筛选

  • 对于单表节点,在模型配置页面点击表节点后,可以在展开的选项中找到「其他筛选」,在筛选中选择需要配置的数据筛选条件即可。
    Image

组合单节点的数据筛选

  • 对于组合表节点,当选中整个组合表节点时,可以在展开的选项中找到「数据筛选」,在筛选中配置需要的数据筛选条件即可。
    • 组合单节点整体的筛选逻辑:对组合单节点内的表 Join 后的结果进行筛选,即先 Join 后筛选。
      Image
  • 如果选中的是组合单节点内的某个单独的表节点,同样可以在展开的选项中找到「其他筛选」,在筛选中选择需要配置的数据筛选条件即可。
    • 组合单节点内的单表节点筛选逻辑:每个表节点先进行数据筛选后,再对筛选的结果进行 Join,组成组合单节点的数据,即先筛选后 Join。
      Image

数据筛选的配置方法分为「字段筛选」和「表达式筛选」:

  • 两种筛选方法可以混合使用;
  • 支持点击「且」和「或」按钮来切换这些筛选条件间的关系。

字段筛选

  • 字段筛选即可以选择表节点中的某个字段进行筛选,如果选择的是组合单节点,则可以选择来自组合单节点内所有单表节点的字段。

Image

表达式筛选

  • 除了直接引用表中的字段之外,还可以使用表达式筛选,即通过表达式先对表中的字段进行处理,之后对处理的结果进行筛选。

Image

表节点抽取参数配置

对于部分数据源,DataWind 支持在对数据源抽取时添加抽取参数,以 MySQL 数据源为例,在进行模型配置时,点击表节点,可以在节点的信息中找到抽取参数配置。
配置抽取参数后,数据集将在执行数据同步任务时,将参数添加进任务中。
Image

模型配置流程举例

仅物理关联模型

需求:构建一个只需要物理关联的数据集模型,即各个数据源表之间只需要使用到「Left Join、Inner Join」等关联方式。

第一步:可以先将需要的表都拖入到中间的画布中。

Image

第二步:先将任意两个表关联起来,选择一个物理关联的方式,形成一个组合单节点。

Image

第三步:再将组合单节点中的表和外面其他的表关联起来,组成一个大的组合单节点。

Image

第四步:最后再调整各个表之间的关联字段等内容,即可得到需要的数据集模型。

Image

仅逻辑关联模型(多事实表)

需求:构建一个只需要逻辑关联的数据集模型,即各个数据源表之间只需要使用到「关系」的关联方式。

第一步:可以先将需要的表都拖入到中间的画布中。

Image

第二步:调整每个表是属于事实表还是维表。

Image

第三步:将各个表按照逻辑关系关联起来。

Image

第四步:最后再分别配置这些表之间的连接字段即可。

Image

混合使用模型(多事实表)

需求:构建一个物理关联与逻辑关联交叉使用的模型。

第一步:可以先将需要的表都拖入到中间的画布中。

Image

第二步:先将需要进行物理关联的表连接起来。

Image

第三步:配置每个表是属于事实表还是维表。

Image

第四步:将这些事实表和维表之间再按照需求关联起来。

Image

第五步:最后再配置这些关系连接的连接字段即可。

Image