0

我收到了各种平面文件,在将它们加载到 SQL Server 数据库之前,这些文件需要在 ETL 过程的几个阶段进行转换和聚合。

在每个阶段之后,我想以多种方式验证数据,并且我正在研究可以提供帮助的现有技术。

接收到数据后,需要对截断数据、日期格式等内容进行验证,并通常确保数据已准备好进行转换。

数据这样清洗干净后,我想对数据进行校验。这将包括将诸如行计数、空值百分比、平均值等值与先前的负载或预定义值进行比较。如果验证失败,则应提醒开发人员。

tSQLt,数据库单元测试框架,有几个断言可以用来做我想做的事。它很容易设置并且有不错的文档。这是我能看到的最近的工具,但距离它的设计目的还有很长的路要走。

另一种方法是创建我自己的工具,但我想知道 - 这样的东西是否已经存在?

4

1 回答 1

0

经过一番搜索,我找到了一个我认为可以解决问题的商业解决方案:QuerySurge。有几个类似的工具(ETL 验证器),尽管它声称是独特的软件。

它的工作原理是:

  • 在 2 个查询之间使用集合比较,如果它们不匹配,则会引发错误。这可能是转换之前/之后的行数,或者只是检查结果什么都不返回。

  • 可以使用 ANSI SQL 和任何特定于连接的 SQL 对任何符合 JDBC 的数据源执行查询。结果使用 MySql 后端存储在单独的服务器上,您可以选择自己托管或使用他们的服务器。

  • 它允许命令行使用,因此支持持续集成工具。

  • 一个不错的功能是测试(测试套件)的分组,尽管尚不清楚组的结果将如何影响整体测试。

  • 内置的报告工具看起来也不错。

这是我从网站上收集到的大部分内容。我没有下载试用版,因为软件本身超出了我的价格范围。

该工具原则上并不复杂,我们将开发自己的框架来应对。

于 2016-05-11T14:57:36.343 回答