sql - 在 SQL 阶段对数据仓库进行 QA... 测试表组合的想法?
问题描述
我正在对将数据从 Stage 传输到 DW(不同服务器上的两个 DB)的流程进行 QA。
以前,有一个 ETL 到 Stage 过程,这是一个直接的副本。QA 很简单,因为我只是比较了列/行数和日期。基本上,由于数据应该是 1-1 的比赛,所以很容易。
现在,在舞台到 DW 的过程中,有一个组合在起作用。舞台上的 50 张桌子组合成 12 张 DW 桌子。我只是想不出一种干净的方法来对这个过程进行 QA 以测试进行组合的过程。如果术语不是很清楚,我很抱歉,QA 显然不是我的强项。只是希望看看是否有人会对如何对这个过程进行 QA 提出建议。
可以这样想:stage 中有 50 个表,在 Data Warehouse 中变成了 12 个表。数据仓库表 #1 将包含来自阶段表 1、6、8、12 的列。显然我无法比较列号,因为这些在表之间不会匹配。我无法比较行号,因为这些行号也不匹配。
任何建议表示赞赏,如果有帮助,我绝对可以提供更多信息!
谢谢!
解决方案
为此,您需要了解数据模型和转换逻辑。您需要索要列映射表(Stage to DW)。要检查行数,每个 DW 表都有一个一致的公式(在您的示例中,它可能是所有表的行数总和,或表 1 的行数等......)
一旦我了解了逻辑和行数,我将在暂存区更新一些记录,然后检查更新是否按照转换逻辑转移到 DW...
推荐阅读
- oracle11g - 检查数据库中用户的存在
- ruby-on-rails - 在 Ruby Gem 中描述脚本依赖关系的最佳方式 - 我应该在哪里需要?
- .net - 角度事件问题:每次我选择菜单栏时它总是同时选择
- google-cloud-shell - 如何在 Cloud Shell 上获得更多磁盘空间?
- bash - Bash 或 cmd 将 Java 标准附加到文本文件中
- javascript - 如何使用隐藏的输入框进行输入?
- python - 如何将用户输入的常量(pi,e)转换为 python 中的浮点数?
- sql - 如何删除/替换 Oracle 结果集中的“sys.DBMSOUTPUT_LINESARRAY”?
- python - Tensorflow / Keras教程保存/加载模型不起作用
- sql - 如何在 sql 中的 datetime2 类型中有两个日期变量?