跳到主要内容 跳到补充内容

云数据仓库中的数据集架构

Qlik Talend Data Integration 允许您创建、管理和控制分析数据管道,将数据一直传递给消费者。使用 Qlik Talend Data Integration 在云数据仓库中生成数据集时,会生成存储表、更改表和视图。

直观且有指导的用户界面可帮助您构建、建模和执行数据管道。自动生成操作数据存储 (ODS) )和历史数据存储 (HDS) 的模式,无需手动编码。

使用 Qlik 数据网关 - 数据移动 和 CDC的 Qlik Talend Data Integration 数据管道的体系结构

  • 登陆

    Qlik Talend Data Integration 中的登陆任务控制数据从数据源到登陆区的连续登陆。图中的示例描述了使用 Qlik 数据网关 - 数据移动 以使用 CDC 访问数据源以保持数据最新。您还可以使用 Qlik Cloud 源连接来执行可以计划定期重新加载的完全加载。

    有关何时需要使用 数据移动网关 的信息,请参阅什么时候需要 数据移动网关?

    信息注释登陆区中的表由 Qlik Talend Data Integration 存储数据任务生成供内部使用。请勿在任何其他下游流程中使用平台。
  • 存储空间

    存储任务控制何时将数据应用于存储表,并创建和管理表和外部视图。

  • 外部视图

    使用数据时,最佳做法是使用视图。与表相比,视图提供了一些优势,包括提升数据并发性。

使用实时视图

您可以使用实时视图访问当前数据 (ODS) 和历史数据 (HDS) 。实时视图包括尚未应用于当前或以前表的更改表中的数据。这使您能够以较低的延迟查看数据,而无需频繁应用更改的数据。延迟合并的能力允许降低目标平台中的成本和处理要求。

实时视图的另一个好处是计算层不需要一直运行。

  • 登陆可以指向一个可以较小的显式仓库,因为它只执行 INSERT 操作以快速执行。

  • 例如,每天运行一次的存储过程可以唤醒大型计算层进行处理。

  • 延迟可以改善,因为我们不再需要整天应用更改。当插入的新记录在更改表中可用时,它们将立即在实时视图中可用。

模式

工件在内部模式和数据任务模式中生成。

  • 内部模式包含物理数据表。

  • 数据任务模式包含可用于使用数据的视图。

    当架构与多个数据任务关联时,每个数据任务都必须为表和视图使用唯一的前缀。您可以在数据任务设置中设置前缀。

仅检查内部架构的命名冲突。对于其他模式,必须确保表名称中没有命名冲突。最佳做法是将内部模式命名为与添加了 _internal 的数据任务模式相同的名称。这将有效地确保每个模式和前缀组合都是唯一的。

信息注释所有表格和视图由 Qlik Talend Data Integration 管理。请勿使用其他工具更改数据。

表格

以下表格是在内部模式中创建的。

  • 当前表 (ODS)

    此表包含数据源的副本,该副本在最近的应用间隔期间根据更改进行了更新。

  • 先前表格 (HDS)

    此表包含类型 2 历史数据。仅当在数据任务设置中启用了历史记录时,才会生成。

    更新源表记录时,每次都会向上一个表中添加一条新记录。历史记录是前一个当前记录的副本,其中还包括更新的内容以及有效时间。

    使用历史视图或历史实时视图查看历史数据。有关更多信息,请参阅历史视图历史实时视图

  • 更改表

    此表包含尚未应用于当前表的所有更改。仅当使用登陆模式满载和 CDC 时才生成。

视图

以下视图是在数据任务目标模式中创建的。创建哪些视图取决于您是否启用了实时视图和历史记录,以及是否使用了更改处理。

  • 当前视图

  • 实时视图

  • 更改视图

  • 历史视图

  • 历史实时视图

信息注释所有以 hdr__ 开头的表头列名都是保留的。如果在存储任务中使用视图,则必须重命名存储任务中已使用的标题列,以避免命名冲突,因为存储任务将生成具有相同标题列的视图。

当前视图

命名:<EXTERNAL_SCHEMA>.[<PREFIX>]<TABLE_NAME>_current

将以下标题列添加到表结构中。

表头字段
字段 类型 描述
hdr__key_hash varbinary(20)

所有记录主键的散列。散列格式为 SHA1。列由退格字符分隔。

数据集市数据任务中不会生成此列。

hdr__key_id int64

按记录递增序列。

数据集市数据任务中仅会生成此列。

hdr__from_timestamp 时间戳

依据 UTC 的时间戳

  • 对于从满负载采集的数据,它将是满负载开始时间。

  • 对于通过更改表进行的变更,它将是记录的时间戳字段。

hdr__operation string(1)

此记录的最新操作。

  • D - 从更改表中删除。

  • U - 从更改表更新。

  • I - 从更改表中插入。

  • L - 通过满负载任务插入。

  • d - 从比较和应用中删除。

  • d - 从比较和应用中更新。

  • d - 从比较和应用中插入。

hdr__inserted_timestamp 时间戳 首次添加密钥的 UTC 时间戳。当使用满载时,满载的开始时间。
hdr__modified_timestamp 时间戳 上次应用更新的 UTC 时间戳。

实时视图

实时视图为每个选择的源表显示一个视图,该视图将表与更改表中的更改合并。这为查询提供了数据的实时视图,而无需等待下一个应用周期。从变更表视图合并的变更在表之间不具有事务一致性。

只有在数据任务的设置中启用实时视图时,才会创建实时视图。

命名:<EXTERNAL_SCHEMA>.[<PREFIX>]<TABLE_NAME>< Suffix for live views>

表头字段
字段 类型 描述
hdr__key_hash varbinary(20)

所有记录主键的散列。散列格式为 SHA1。列由退格字符分隔。

数据集市数据任务中不会生成此列。

hdr__key_id int64

按记录递增序列。

数据集市数据任务中仅会生成此列。

hdr__from_timestamp 时间戳

依据 UTC 的时间戳

  • 对于从满负载采集的数据,它将是满负载开始时间。

  • 对于通过更改表进行的变更,它将是记录的时间戳字段。

hdr__operation string(1)

此记录的最新操作。

  • D - 从更改表中删除。

  • U - 从更改表更新。

  • I - 从更改表中插入。

  • L - 通过满负载任务插入。

  • d - 从比较和应用中删除。

  • d - 从比较和应用中更新。

  • d - 从比较和应用中插入。

hdr__inserted_timestamp 时间戳 首次添加密钥的 UTC 时间戳。当使用满载时,满载的开始时间。
hdr__modified_timestamp 时间戳 上次应用更新的 UTC 时间戳。
hdr__store varchar(10)

这指示记录所在的位置。

  • CURRENT - 是否记录位于当前物理表中。

  • CHANGES - 是否记录位于更改表中。

更改视图

这是登陆模式中每个选择的源表的更改表的视图。

命名:<EXTERNAL_SCHEMA>.[<PREFIX>]<TABLE_NAME>_changes

将以下标题字段添加到表结构中。

更改表的表头字段
字段 类型 描述
hdr__change_identifier string(50)

更改标识符是由两部分组成的字符串:

  • 自 1970 年 1 月 1 日以来以秒为单位的批运行开始时间戳(10 位字符串)

  • 来自复制网关的更改顺序(35 个字符)

hdr__from_timestamp 时间戳

依据 UTC 的时间戳

  • 对于从满负载采集的数据,它将是满负载开始时间。

  • 对于通过更改表进行的变更,它将是记录的时间戳字段。

hdr__to_timestamp 时间戳

依据 UTC 的时间戳

  • 对于从满负载采集的数据,它将是满负载开始时间。

  • 对于通过更改表进行的变更,它将是记录的时间戳字段。

hdr__operation string(1)

此记录的最新操作。

  • D - 从更改表中删除。

  • U - 从更改表更新。

  • I - 从更改表中插入。

  • L - 通过满负载任务插入。

  • d - 从比较和应用中删除。

  • d - 从比较和应用中更新。

  • d - 从比较和应用中插入。

hdr__timestamp 时间戳

依据 UTC 的时间戳。

hdr__key_hash binary(20)

所有记录主键的散列。

数据集市数据任务中不会生成此列。

hdr__key_id int64

按记录递增序列。

数据集市数据任务中仅会生成此列。

历史视图

如果在数据任务设置中启用了历史记录,则会在数据资产模式中为每个选定源表生成历史记录视图。将以下标题字段添加到表结构中。

命名:<EXTERNAL_SCHEMA>.[<PREFIX>]<TABLE_NAME>< Suffix for history views>

历史视图标题字段
字段 类型 描述
hdr__key_hash binary(20)

所有记录主键的散列。

数据集市数据任务中不会生成此列。

hdr__key_id int64

按记录递增序列。

数据集市数据任务中仅会生成此列。

hdr__store varchar(10)

这指示记录所在的位置。

  • CURRENT - 是否记录位于当前物理表中。

  • PRIORS - 是否记录与历史数据一起存在于线圈表中。

hdr__operation string(1)

此记录的最新操作。

  • D - 从更改表中删除。

  • U - 从更改表更新。

  • I - 从更改表中插入。

  • L - 通过满负载任务插入。

  • d - 从比较和应用中删除。

  • d - 从比较和应用中更新。

  • d - 从比较和应用中插入。

hdr__deleted

根据 hdr_operation 是 D 还是 d,指示记录是否被软删除。

hdr__was _current_from_timestamp 时间戳

第一次记录的 UTC 时间戳是当前的。

hdr__was _current_to_timestamp 时间戳

最后一次记录的 UTC 时间戳是当前的。

历史实时视图

在数据资产模式中为每个选定源表生成历史实时视图,每个选定源表格与来自更改表的更改合并。将以下标题字段添加到表结构中。

命名:<EXTERNAL_SCHEMA>.[<PREFIX>]<TABLE_NAME>< Suffix for live history views>

实时历史视图标题字段
字段 类型 描述
hdr__key_hash binary(20)

所有记录主键的散列。

数据集市数据任务中不会生成此列。

hdr__key_id int64

按记录递增序列。

数据集市数据任务中仅会生成此列。

hdr__store varchar(10)

这指示记录所在的位置。

  • CURRENT - 是否记录位于当前物理表中。

  • PRIORS - 是否记录与历史数据一起存在于线圈表中。

  • CHANGES - 是否记录位于更改表中。

hdr__operation string(1)

此记录的最新操作。

  • D - 从更改表中删除。

  • U - 从更改表更新。

  • I - 从更改表中插入。

  • L - 通过满负载任务插入。

  • d - 从比较和应用中删除。

  • d - 从比较和应用中更新。

  • d - 从比较和应用中插入。

hdr__deleted

根据 hdr_operation 是 D 还是 d,指示记录是否被软删除。

本页面有帮助吗?

如果您发现此页面或其内容有任何问题 – 打字错误、遗漏步骤或技术错误 – 请告诉我们如何改进!