表验证可验证某个表的内容在各个 Teradata Database 系统间是否匹配。可以使用行计数、验证表达式或这两者的组合(对于某些类型的系统)对表进行验证。可以手动或使用触发器设置表验证,也可以在工作流中进行设置。
Ecosystem Manager 包含一个表达式帮助程序,可用于创建 WHERE 子句或创建验证表达式。
Ecosystem Manager 不会对表验证所涉及的不同数据库系统执行明确的内部数据类型强制转换操作。要验证的表模式在不同的数据库系统中必须相同,或者如果指定了 WHERE 子句,则不同数据库系统上的列使用的数据类型必须相同。对于 Hadoop 或 Aster 系统,只能使用行计数和部分表验证。对于 Hadoop 系统,需遵守与 SQL-H 相关的限制和建议。
- 行计数
- “行计数”验证方法可访问主柱面索引。行计数可指示表中相同数量的行已同步,但不会确认这些行是否具有相同的值。
- 验证表达式
- 验证表达式可用于创建自定义表达式以比较表中列的总和。如果自定义表达式不是聚合表达式,Ecosystem Manager 会将其放入某个函数内,以使该表达式成为聚合表达式。可以使用表达式帮助程序在表达式中插入操作和列。
- 部分表验证
- WHERE 子句可用于指定要用于表验证的列而并非整个表。您可以使用表达式帮助程序查看可用的列。
执行表验证之前,指标将自动重置为零。表验证的结果将显示在生态系统资源管理器门户组件中表指标视图的表选项卡上。
对于 Unity 受管表,还会显示一个选项(即运行此验证时冻结和激活表)。如果选中此选项,则会在表验证之前冻结表(状态更改为只读),并在表验证之后激活表(状态更改为恢复)。缺省情况下,不会选中此选项。对于为 Unity 被动路由规则设置的表,建议使用缺省选项(不选中)。