多团队dbt项目:不修改dbt_project.yml配置Models子目录方法
解决dbt子目录通用模型参数配置问题
你遇到的问题是因为子目录下的模型配置文件写法不符合dbt规则——子目录里的配置文件中,models字段必须是列表格式,而非dbt_project.yml里的嵌套字典结构。
无需修改dbt_project.yml的正确写法如下:
在models/directory/subdirectory/subdirectory_config.yml中,使用列表形式配置当前目录下的所有模型:
version: 2 models: # 匹配当前目录(含子目录)的所有模型 - path: . config: +distributed_replicated: true
如果只想针对当前目录(不含子目录)的模型生效,可以用通配符配合筛选规则:
version: 2 models: - name: '*' select: '*.sql' config: +distributed_replicated: true
关键说明
- 子目录的配置文件不需要重复写上层目录路径(比如
directory.subdirectory),path: .会自动指向当前配置文件所在的目录。 - 这种方式完全满足多团队独立配置各自目录模型参数的需求,每个团队只需在自己的目录下创建类似的配置文件即可。
内容的提问来源于stack exchange,提问作者user27285195
相关产品推荐
相关产品推荐

