我收到各种平面文件,需要在ETL过程的几个阶段进行转换和聚合,然后再将其加载到SQL Server数据库中。
在每个阶段之后,我想以多种方式验证数据,并且我正在研究可以提供帮助的现有技术。
收到数据后,需要对截断数据,日期格式以及通常确保数据准备好进行转换等事项进行验证。
以这种方式清理数据后,我想验证数据。这包括将诸如行计数,%空值,平均值等值与先前载荷或预定义值进行比较。如果验证失败,应该提醒开发人员。
数据库单元测试框架tSQLt有几个断言,可以用来做我想要的。它易于设置并具有良好的文档。这是我能看到的最接近的工具,但距离它的设计还有很长的路要走。
另一种方法是创建我自己的工具,但我想知道 - 这样的事情是否已经存在?
答案 0 :(得分:0)
经过一番搜索,我找到了一个商业解决方案,我认为可以解决这个问题:QuerySurge。有几个类似的工具(ETL validator),虽然它声称是独特的软件。
它的工作原理是:
使用2个查询之间的集合比较,如果不这样做则会引发错误 比赛。这可能是转换之前/之后的行计数,或者 简单地检查结果不会返回任何内容。
可以使用任何符合JDBC的数据源执行查询 ANSI SQL和任何特定于连接的SQL。结果存储在a 使用MySql后端分离服务器,您可以选择其中一个 自己主持或使用他们的服务器。
它允许命令行使用,因此支持连续 集成工具。
一个很好的功能是测试(测试套件)的分组,尽管它是 不清楚小组的结果将如何影响整体测试。
内置的报告工具也很不错。
这是我从网站上收集到的大部分内容。由于软件本身超出了我的价格范围,我还没有下载试用版。
该工具原则上并不复杂,我们正在开发自己的框架来应对。