Early Access: The content on this website is provided for informational purposes only in connection with pre-General Availability Qlik Products.
All content is subject to change and is provided without warranty.
跳到主要内容 跳到补充内容

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

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

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

使用 Qlik Data Gateway - Data Movement 和 CDC的 Qlik Talend Data Integration 数据管道的体系结构

  • 登陆

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

    有关何时需要使用 Data Movement gateway 的信息,请参阅什么时候需要 Data Movement gateway?

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

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

  • 外部视图

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

使用实时视图

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

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

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

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

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

video thumbnail

模式

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

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

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

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

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

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

表格

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

信息注释内部架构中的表如有更改,恕不另行通知。在可能的情况下,您应该主要使用视图来使用数据。
  • 当前表 (ODS)

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

  • 先前表格 (HDS)

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

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

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

  • 更改表

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

当前表

命名:<INTERNAL_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 时间戳。

先前表格

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

命名:<INTERNAL_SCHEMA>.[<PREFIX>]<TABLE_NAME>_prior

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

所有记录主键的散列。

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

hdr__key_id int64

按记录递增序列。

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

hdr__from_timestamp 时间戳

依据 UTC 的时间戳

hdr__to_timestamp 时间戳

依据 UTC 的时间戳

hdr__operation string(1)

此记录的最新操作。

  • D - 从更改表中删除。

  • U - 从更改表更新。

  • I - 从更改表中插入。

  • L - 通过初始负载插入。

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

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

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

hdr__was _current_from_timestamp 时间戳

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

hdr__was _current_to_timestamp 时间戳

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

更改表

命名:<INTERNAL_SCHEMA>.[<PREFIX>]<TABLE_NAME>_ct

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

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

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

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

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

hdr__operation varchar(1)

此记录的最新操作。

  • D - 从更改表中删除。

  • U - 从更改表更新。

  • I - 从更改表中插入。

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

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

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

hdr__timestamp 时间戳

依据 UTC 的时间戳。

hdr__key_hash binary(20)

所有记录主键的散列。

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

hdr__key_id int64

按记录递增序列。

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

视图

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

  • 标准视图

  • 实时视图

  • 更改视图

  • 历史视图

  • 历史实时视图

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

标准视图

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

没有标题列添加到表结构中。

实时视图

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

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

命名:<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,指示记录是否被软删除。

本页面有帮助吗?

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