DBT - 测试列值验证特定日期格式

DBT - Test that column values verify specific date format

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

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

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

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

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

非常感谢您的帮助:)

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

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