【问题标题】:SQL Data verification framework?SQL 数据验证框架?
【发布时间】:2016-05-08 12:54:06
【问题描述】:

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

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

收到数据后,需要对其进行验证,例如截断数据、日期格式以及通常确保数据已准备好进行转换。

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

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

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

【问题讨论】:

  • 虽然您的主题对我很有吸引力,但由于我使用这种技术,我认为您的问题不太适合 SO。通常,我们在这里遇到问题,我们会帮助用户解决他们的编码问题,修复它们。也许如果你把你的问题放在软件推荐社区,它会很快得到回答。
  • 谢谢@Walter_Ritzel,我不熟悉那个社区。你是对的,我想不出任何方法来适当地关注这个问题。如果几天后没有任何结果,我会删除这个问题。

标签: sql-server etl verification tsqlt


【解决方案1】:

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

它的工作原理:

  • 在 2 个查询之间使用集合比较,如果不这样做会引发错误 匹配。这可能是转换之前/之后的行数,或者 简单地检查结果不会返回任何内容。

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

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

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

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

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

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

【讨论】:

    猜你喜欢
    • 2019-02-09
    • 1970-01-01
    • 2015-08-18
    • 2017-09-07
    • 1970-01-01
    • 2010-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多