You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

dbt_utils union_relations的column_override参数不生效求助

解决dbt_utils union_relations中column_override参数不生效的问题

排查方向与解决方案

1. 列名大小写不匹配

dbt_utils的column_override参数对列名大小写敏感。从编译后的SQL可以看到,源表的列名是全大写的DIGITAL_CAMPAIGN_ID,但你在参数中使用的是小写蛇形的digital_campaign_id,这会导致宏无法识别需要覆盖的列。

修正方法:将column_override中的列名改为与源表完全一致的大小写:

column_override={"DIGITAL_CAMPAIGN_ID": "TEXT"}

2. dbt_utils版本问题

旧版本的dbt_utils可能存在column_override参数的逻辑bug,比如类型推断优先级覆盖了自定义配置。建议升级到最新稳定版的dbt_utils(版本≥1.0.0),再重新编译测试。

3. 检查自定义宏覆写逻辑

确认你的dbt项目中没有自定义覆写union_relations宏的逻辑,否则可能会导致官方宏的参数失效。检查项目的macros目录下是否存在同名宏,若有则需要调整自定义逻辑以兼容column_override参数。

修正后的完整代码

{{ dbt_utils.union_relations(
    relations=[
        ref('base_consumer_digital_ad_performance_apple_ads_spend'), 
        ref('base_consumer_digital_ad_performance_facebook_spend'),  
        ref('base_consumer_digital_ad_performance_tiktok_spend'), 
        ref('base_consumer_digital_ad_performance_google_spend')
    ],
    column_override={"DIGITAL_CAMPAIGN_ID": "TEXT"}
) }}

内容的提问来源于stack exchange,提问作者C.Carrel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 12:37:12