dbt(数据构建工具)神社模块-'dict object'没有属性're'

Posted

技术标签:

【中文标题】dbt(数据构建工具)神社模块-\'dict object\'没有属性\'re\'【英文标题】:dbt (data build tool) jinja modules - 'dict object' has no attritute 're'dbt(数据构建工具)神社模块-'dict object'没有属性're' 【发布时间】:2021-04-13 22:26:51 【问题描述】:

根据 DBT 关于在 jinja 函数中使用的模块的文档 - https://docs.getdbt.com/reference/dbt-jinja-functions/modules - modules.re 应该可用。但是,我正在使用这个宏:

% macro camel_to_snake_case(camel_case_string) -%

 modules.re.sub('([A-Z][a-z]|[A-Z]*[0-9]+)', '_\\1', modules.re.sub('([A-Z]+[A-Z]([a-z]|$))', '_\\1', camel_case_string)) | trim('_') | lower() 

%- endmacro %

每当运行使用此宏的脚本时,我都会收到错误消息:

Running with dbt=0.17.0
Encountered an error:
Compilation Error in model model_using_macro (models/model_using_macro.sql)
  'dict object' has no attribute 're'

我需要安装一些东西才能访问modules.re 功能吗?也许我安装的基本 dbt 根本没有这个modules?也许有一种方法可以检查modules 的输出,看看为什么缺少re,以及还有什么可用/缺少的?我不确定为什么还会发生此错误?

【问题讨论】:

【参考方案1】:

尝试升级 dbt,re 是在 0.19.0 (source) 中添加的

【讨论】:

以上是关于dbt(数据构建工具)神社模块-'dict object'没有属性're'的主要内容,如果未能解决你的问题,请参考以下文章

dbt jinja 返回查询结果

构建一个dbt 数据库适配器

当 dbt 遇见 TiDB丨高效的数据转换工具让数据分析更简单

python 利用dict list构建json数组

python 利用dict list构建json数组

python 利用dict list构建json数组