description
- Models
- Sources
- Seeds
- Snapshots
- Analyses
- Macros
- Data tests
version: 2
models:
- name: model_name
description: markdown_string
columns:
- name: column_name
description: markdown_string
version: 2
sources:
- name: source_name
description: markdown_string
tables:
- name: table_name
description: markdown_string
columns:
- name: column_name
description: markdown_string
version: 2
seeds:
- name: seed_name
description: markdown_string
columns:
- name: column_name
description: markdown_string
version: 2
snapshots:
- name: snapshot_name
description: markdown_string
columns:
- name: column_name
description: markdown_string
version: 2
analyses:
- name: analysis_name
description: markdown_string
columns:
- name: column_name
description: markdown_string
version: 2
macros:
- name: macro_name
description: markdown_string
arguments:
- name: argument_name
description: markdown_string
Определение
Пользовательское описание. Может использоваться для документирования:
- модели и столбцов модели
- источников, таблиц источников и столбцов источников
- семян и столбцов семян
- снимков и столбцов снимков
- анализов и столбцов анализов
- макросов и аргументов макросов
Эти описания используются на сайте документации, создаваемом dbt (см. руководство по документации или dbt Explorer).
Описания могут включать markdown, а также функцию doc
jinja.
Будьте внимательны к семантике YAML при предоставлении описания. Если ваше описание содержит специальные символы YAML, такие как фигурные скобки, двоеточия или квадратные скобки, возможно, вам потребуется заключить ваше описание в кавычки. Пример описания в кавычках показан ниже.
Примеры
Добавление простого описания к модели и столбцу
version: 2
models:
- name: dim_customers
description: One record per customer
columns:
- name: customer_id
description: Primary key
Добавление многострочного описания к модели
Вы можете использовать блочную нотацию YAML для разделения более длинного описания на несколько строк:
version: 2
models:
- name: dim_customers
description: >
One record per customer. Note that a customer must have made a purchase to
be included in this <Term id="table" /> — customer accounts that were created but never
used have been filtered out.
columns:
- name: customer_id
description: Primary key.
Использование markdown в описании
Вы можете использовать markdown в своих описаниях, но вам может потребоваться заключить ваше описание в кавычки, чтобы YAML-парсер не запутался из-за специальных символов!
version: 2
models:
- name: dim_customers
description: "**[Read more](https://www.google.com/)**"
columns:
- name: customer_id
description: Primary key.
Использование блока docs в описании
Если у вас есть длинное описание, особенно если оно содержит markdown, может быть более целесообразно использовать блок docs
. Преимущество этого подхода в том, что р едакторы кода будут правильно подсвечивать markdown, что облегчит отладку при написании.
version: 2
models:
- name: fct_orders
description: This table has basic information about orders, as well as some derived facts based on payments
columns:
- name: status
description: '{{ doc("orders_status") }}'
{% docs orders_status %}
Orders can be one of the following statuses:
| status | description |
|----------------|---------------------------------------------------------------------------|
| placed | The order has been placed but has not yet left the warehouse |
| shipped | The order has been shipped to the customer and is currently in transit |
| completed | The order has been received by the customer |
| returned | The order has been returned by the customer and received at the warehouse |
{% enddocs %}
Ссылка на другую модель в описании
Вы можете использовать относительные ссылки для ссылки на другую модель. Это немного хитро — но чтобы сделать это:
- Запустите ваш сайт документации.
- Перейдите к модели, на которую хотите сослаться, например,
http://127.0.0.1:8080/#!/model/model.jaffle_shop.stg_stripe__payments
- Скопируйте url_path, т.е. все после
http://127.0.0.1:8080/
, в данном случае#!/model/model.jaffle_shop.stg_stripe__payments
- Вставьте это как ссылку
version: 2
models:
- name: customers
description: "Filtering done based on [stg_stripe__payments](#!/model/model.jaffle_shop.stg_stripe__payments)"
columns:
- name: customer_id
description: Primary key
Включение изображения из вашего репозитория в ваши описания
Этот раздел применим только к пользователям dbt Core. Включение изображения из вашего репозитория гарантирует, что ваши изображения находятся под версионным контролем.
Как пользователи dbt Cloud, так и dbt Core могут включать изображение из интернета, что предлагает динамическое содержание, уменьшенный размер репозитория, доступность и легкость сотрудничества.
Чтобы включить изображение в поле description
вашей модели:
- Добавьте файл в подкаталог, например,
assets/dbt-logo.svg
- Установите конфигурацию
asset-paths
в вашем файлеdbt_project.yml
, чтобы этот каталог копировался в каталогtarget/
как частьdbt docs generate
asset-paths: ["assets"]
- Используйте Markdown-ссылку на изображение в вашем
description:
version: 2
models:
- name: customers
description: "![dbt Logo](assets/dbt-logo.svg)"
columns:
- name: customer_id
description: Primary key
-
Запустите
dbt docs generate
— каталогassets
будет скопирован в каталогtarget
-
Запустите
dbt docs serve
— изображение будет отображено как часть документации вашего проекта:
Если вы смешиваете изображения и текст, также рассмотрите возможность использования блока docs.
Включение изображения из интернета в ваши описания
Этот раздел применим к пользователям dbt Cloud и dbt Core. Включение изображения из интернета предлагает динамическое содержание, уменьшенный размер репозитория, доступность и легкость сотрудничества.
Чтобы включить изображения из интернета, укажите URL изображения в поле description
вашей модели:
version: 2
models:
- name: customers
description: "![dbt Logo](https://github.com/dbt-labs/dbt-core/blob/main/etc/dbt-core.svg)"
columns:
- name: customer_id
description: Primary key
Если вы смешиваете изображения и текст, также рассмотрите возможность использования блока docs.