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

执行dbt docs generate报错:无法获取列大小写信息

解决dbt docs generate时的Trino JDBC列名错误
  • 排查模型与源定义细节
    虽然你已经检查过大小写,但再仔细核对所有模型文件、schema.yml和sources.yml,确认没有任何地方硬编码了ServiceOrganisationCode这个大写列名——包括查询语句、字段引用甚至注释里的内容。确保源表的列定义完全匹配Starburst Galaxy中的小写列名。

  • 刷新Starburst Galaxy元数据缓存
    Starburst的元数据可能存在缓存,导致dbt读取到旧的列信息。在Galaxy控制台找到对应catalog和schema,执行元数据刷新操作(比如右键目录选择「Refresh Metadata」),之后再重新运行dbt docs generate。

  • 调整dbt配置的大小写敏感性
    检查profiles.yml中Trino/Starburst的配置项,若存在case_sensitive_columns参数,将其设为false,避免dbt对列名大小写严格匹配。同时在dbt_project.yml中确认quoting配置:

    quoting:
      database: false
      schema: false
      identifier: false
    

    确保identifier为false,防止dbt给列名添加引号引发大小写敏感问题。

  • 在Starburst中直接验证元数据
    登录Starburst查询编辑器,执行以下语句确认表的列信息:

    DESCRIBE TABLE ga_ds_datamart_qa.<你的schema>.<你的表名>;
    

    或者通过信息_schema查询:

    SELECT column_name FROM information_schema.columns 
    WHERE table_catalog = 'ga_ds_datamart_qa' 
      AND table_schema = '<你的schema>' 
      AND table_name = '<你的表名>';
    

    确认返回的列名均为小写,排查是否存在残留的旧列元数据。

  • 彻底清理dbt缓存
    除了dbt clear,手动删除target目录和dbt_packages目录,再重新执行dbt deps和dbt docs generate,确保没有残留的旧缓存文件干扰。

内容的提问来源于stack exchange,提问作者Kevin Manders

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 18:42:10