gpt4 book ai didi

dbt - 当同一列在模型中移动时,使用一个 YAML 定义

转载 作者:行者123 更新时间:2023-12-02 02:11:16 25 4
gpt4 key购买 nike

我有一些模型 YAML:

version: 2

models:
- name: my_model

columns:
- name: foo
description: My bestest column

...如果我创建从该模型继承的其他模型,在生成文档时是否有任何方法可以引用此列定义,或者我是否需要复制粘贴每个模型的列定义列出现?

换句话说,有没有一种方法可以只定义一次列,从而使编辑和更新更容易。

干杯,

格雷厄姆

最佳答案

我认为有两种方法可以做到这一点。

<强>1。使用宏

创建一个包含所有可重用描述的文件。您甚至可以使用参数来自定义描述。例如doc_library.sql

{% macro column_bestest_doc(col_name) %}
My bestest column {{ col_name }}
{% endmacro %}

然后在dbt_project.yml中使用它

version: 2

models:
- name: my_model

columns:
- name: foo_1
description: {{column_bestest_doc(foo_1)}}

- name: my_model_another

columns:
- name: foo_2
description: {{column_bestest_doc(foo_2)}}


<强>2。使用 YAML anchor

您可以像在任何其他 yml 文件中一样在 dbt_project.yml 中执行 YAML anchor 。

version: 2

models:
- name: my_model

columns:
- name: &foo
description: My bestest column

- name: my_model_another

columns:
- name: *foo

引用: https://support.atlassian.com/bitbucket-cloud/docs/yaml-anchors/ https://medium.com/@kinghuang/docker-compose-anchors-aliases-extensions-a1e4105d70bd

关于dbt - 当同一列在模型中移动时,使用一个 YAML 定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67718476/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com