云数据仓库中的数据集架构 | Qlik Cloud帮助
跳到主要内容 跳到补充内容

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

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 操作以实现快速执行。

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

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

video thumbnail

模式

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

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

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

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

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

当您删除任务或项目时,由 Qlik Talend Data Integration 创建的模式不会被删除。

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

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

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

    此表包含在最新应用间隔期间更新了更改的数据源副本。

  • 先前表 (HDS)

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

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

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

  • 更改表

    此表包含尚未应用于当前表的所有更改。仅当使用登陆模式 Full load and CDC(满负载和 CDC)时,才会生成此表。

信息注释

当您重新插入以前删除的记录,并且这些记录具有相同的主键值时。hdr__operation 的值将为 U - 已更新。

hdr__ 开头的列名保留供 Qlik Talend Data Integration 在标题列中使用。有关详细信息,请参阅 不明确的列名

当前表

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

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

当前表标题字段
字段 类型 描述
hdr__key_hash varbinary(20)

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

此列不在 Data mart(数据集市)数据任务中生成。

hdr__key_id int64

每条记录递增的序列。

此列仅在 Data mart(数据集市)数据任务中生成。

hdr__from_timestamp timestamp

UTC 时间戳

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

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

hdr__operation string(1)

此记录的最新操作。

  • D - 从更改表中删除。

  • U - 从更改表中更新。

  • I - 从更改表中插入。

  • L - 由满负载任务插入。

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

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

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

hdr__inserted_timestamp timestamp 首次添加键的 UTC 时间戳。使用满负载时,为满负载的开始时间。
hdr__modified_timestamp timestamp 应用最后一次更新时的 UTC 时间戳。

先前表

添加了以下标题字段。

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

先前表标题字段
字段 类型 描述
hdr__key_hash varbinary(20)

所有记录主键的哈希值。

此列不在 Data mart(数据集市)数据任务中生成。

hdr__key_id int64

每条记录递增的序列。

此列仅在 Data mart(数据集市)数据任务中生成。

hdr__from_timestamp timestamp

UTC 时间戳

hdr__to_timestamp timestamp

UTC 时间戳

hdr__operation string(1)

此记录的最新操作。

  • D - 从更改表中删除。

  • U - 从更改表中更新。

  • I - 从更改表中插入。

  • L - 由初始加载插入。

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

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

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

hdr__was_current_from_timestamp timestamp

记录首次成为当前记录的 UTC 时间戳。

hdr__was_current_to_timestamp 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 - 从比较和应用中删除。

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

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

hdr__timestamp timestamp

UTC 时间戳。

hdr__key_hash binary(20)

所有记录主键的哈希值。

此列不在 Data mart(数据集市)数据任务中生成。

hdr__key_id int64

每条记录递增的序列。

此列仅在 Data mart(数据集市)数据任务中生成。

视图

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

  • 标准视图

  • 实时视图

  • 更改视图

  • 历史视图

  • 历史实时视图

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

标准视图

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

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

实时视图

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

仅当您在数据任务的设置中启用 Live views(实时视图)时,才会创建实时视图。

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

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

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

此列不在 Data mart(数据集市)数据任务中生成。

hdr__key_id int64

每条记录递增的序列。

此列仅在 Data mart(数据集市)数据任务中生成。

hdr__from_timestamp timestamp

UTC 时间戳

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

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

hdr__operation string(1)

此记录的最新操作。

  • D - 从更改表中删除。

  • U - 从更改表中更新。

  • I - 从更改表中插入。

  • L - 由满负载任务插入。

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

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

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

hdr__inserted_timestamp timestamp 首次添加键的 UTC 时间戳。使用满负载时,为满负载的开始时间。
hdr__modified_timestamp 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 timestamp

UTC 时间戳

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

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

hdr__to_timestamp timestamp

UTC 时间戳

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

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

hdr__operation string(1)

此记录的最新操作。

  • D - 从更改表中删除。

  • U - 从更改表中更新。

  • I - 从更改表中插入。

  • L - 由满负载任务插入。

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

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

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

hdr__timestamp timestamp

UTC 时间戳。

hdr__key_hash binary(20)

所有记录主键的哈希值。

此列不在 Data mart(数据集市)数据任务中生成。

hdr__key_id int64

每条记录递增的序列。

此列仅在 Data mart(数据集市)数据任务中生成。

历史视图

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

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

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

所有记录主键的哈希值。

此列不在 Data mart(数据集市)数据任务中生成。

hdr__key_id int64

每条记录递增的序列。

此列仅在 Data mart(数据集市)数据任务中生成。

hdr__from_timestamp timestamp

UTC 时间戳

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

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

hdr__to_timestamp timestamp

UTC 时间戳

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

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

hdr__was_current_from_timestamp timestamp

记录首次成为当前记录的 UTC 时间戳。

hdr__was_current_to_timestamp timestamp

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

hdr__store varchar(7)

这指示记录所在的位置。

  • CURRENT - 如果记录驻留在当前物理表中。

  • PRIORS - 如果记录驻留在包含历史数据的先前表中。

hdr__operation string(1)

此记录的最新操作。

  • D - 从更改表中删除。

  • U - 从更改表中更新。

  • I - 从更改表中插入。

  • L - 由满负载任务插入。

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

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

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

hdr__deleted bit

指示记录是否被软删除,基于 hdr__operation 是否为 D 或 d。

历史实时视图

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

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

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

所有记录主键的哈希值。

此列不在 Data mart(数据集市)数据任务中生成。

hdr__key_id int64

每条记录递增的序列。

此列仅在 Data mart(数据集市)数据任务中生成。

hdr__store varchar(10)

这指示记录所在的位置。

  • CURRENT - 如果记录驻留在当前物理表中。

  • PRIORS - 如果记录驻留在包含历史数据的先前表中。

  • CHANGES - 如果记录驻留在更改表中。

hdr__operation string(1)

此记录的最新操作。

  • D - 从更改表中删除。

  • U - 从更改表中更新。

  • I - 从更改表中插入。

  • L - 由满负载任务插入。

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

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

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

hdr__deleted bit

指示记录是否被软删除,基于 hdr__operation 是否为 D 或 d。

本页面有帮助吗?

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