1

我想为表中的每个字段添加描述。我的问题是我们正在使用 dbt,并且每次运行作业时此工具都会重新创建表,从而导致如果存在描述,则将其删除。我能够控制在最后一个 SELECT 语句中转换字段的数据类型,但我不确定是否可以使用 SQL 添加描述。

我已经在谷歌上搜索了一段时间,但无法查看是否可以通过这种方式使用 SQL 添加描述。

我想过一种解决方法是创建表然后插入,但这在理论上使用 dbt 是不好的做法。

谢谢!

4

2 回答 2

6

只是想发布解决方案,以防有人遇到同样的问题。dbt 没有更新 BQ 本身的描述。然而,他们上个月发布了这个新功能:https ://github.com/fishtown-analytics/dbt/releases/tag/v0.17.0

可以像往常一样生成文档,BQ 将显示表和列的描述。您只需将以下内容添加到您的 dbt_project.yml 文件中:

+persist_docs:
  relation: true
  columns: true
于 2020-07-10T14:37:41.303 回答
0

您可以通过两种方式插入说明。

使用 schema.yml 文件

{version: 2

models:
  - name: events
    description: This table contains clickstream events from the marketing website

    columns:
      - name: event_id
        description: This is a unique identifier for the event
        tests:
          - unique
          - not_null

      - name: user-id
        quote: true
        description: The user who performed the event
        tests:
          - not_null
}

您还可以在 SQL 中使用jinga 模板。

{% docs table_events %}

This table contains clickstream events from the marketing website.

The events in this table are recorded by [Snowplow](http://github.com/snowplow/snowplow) and piped into the warehouse on an hourly basis. The following pages of the marketing site are tracked:
 - /
 - /about
 - /team
 - /contact-us

{% enddocs %}
于 2020-07-09T14:49:24.363 回答