为什么使用--store-failures标志运行dbt test会生成带唯一标识后缀的审计表
dbt Spark环境使用
--store-failures生成审计表带唯一标识符后缀解决方案 根因
dbt默认会为--store-failures生成的审计表添加测试唯一标识的哈希后缀,核心目的是避免同一测试在不同运行参数、不同执行上下文下出现表名冲突,你遇到的32位字符串就是该哈希值。
修复方案
你可以通过修改项目配置自定义审计表命名规则,去掉哈希后缀,操作步骤如下:
- 打开dbt项目根目录下的
dbt_project.yml配置文件 - 在
tests配置项下添加全局+alias规则,示例如下:
tests: # 直接使用测试名作为审计表名 +alias: "{{ test.name }}"
如果需要保留更多维度信息,也可以自定义拼接规则,比如拼接测试关联的schema名:
tests: +alias: "{{ test.schema }}_{{ test.name }}"
注意事项
- 自定义别名后如果存在重名测试,会出现后运行的测试结果覆盖先运行结果的问题,开启配置前请确保项目内测试命名全局唯一
- 如果不需要全局生效,也可以给单个测试单独配置
alias属性,实现按需修改命名规则
内容的提问来源于stack exchange,提问作者Binh
相关产品推荐
相关产品推荐

