验证 dbt 中的特定日期格式

问题描述 投票:0回答:1

我正在使用 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个回答
2
投票

在 dbt 包 - dbt-expectations 中,我认为

expect_column_values_to_match_regex
expect_column_values_to_not_match_regex
最适合您的要求。

其实你可以使用

dbt-utils.expression_is_true
来编写你自己的SQL。另外,您还询问了
native
,这就是使用本机 SQL 的方式。

© www.soinside.com 2019 - 2024. All rights reserved.