【问题标题】:DBT - Test that column values verify specific date formatDBT - 测试列值验证特定日期格式
【发布时间】:2022-01-22 07:29:14
【问题描述】:

我正在使用 DBT 将数据从包含所有 STRING 字段的源表转换为包含 TYPED 字段的目标表(例如:DATE、INT、...)

我想确保(使用 dbt test 命令)在启动 dbt run 命令之前可以进行数据类型转换。例如,对于预期的 DATE 字段(在我的源表中的 STRING 中),必须对整个列值运行断言才能通过测试。

在 dbt-expectations 包上,有一些有用的测试,例如“expect_column_values_to_be_of_type”,但该测试检查列数据类型(在表的结构中),而不是检查所有列值是否与特定数据类型匹配。

您有什么想法可以避免编写自定义测试并使用原生测试或打包测试吗?

编辑:候选人应该是“expect_column_values_to_match_regex”,但也许更好......

非常感谢您的帮助:)

【问题讨论】:

    标签: testing types package assert dbt


    【解决方案1】:

    在 dbt 包 - dbt-expectations 中,我认为 expect_column_values_to_match_regexexpect_column_values_to_not_match_regex 最适合您的要求。

    其实你可以用dbt-utils.expression_is_true来写你自己的SQL。另外,你问过native,这就是使用原生 SQL 的方式。

    【讨论】:

      猜你喜欢
      • 2021-09-25
      • 2013-07-06
      • 2019-06-25
      • 2021-05-03
      • 1970-01-01
      • 2017-04-04
      • 2011-09-17
      • 2021-07-18
      • 1970-01-01
      相关资源
      最近更新 更多