Перейти к основному содержимому

docs

Вы можете настроить поведение docs для многих ресурсов сразу, задав его в dbt_project.yml. Вы также можете использовать конфигурацию docs в файлах properties.yaml, чтобы задать или переопределить поведение документации для конкретных ресурсов:

dbt_project.yml
models:
<resource-path>:
+docs:
show: true | false
node_color: color_id # Используйте имя (например, node_color: purple) или шестнадцатеричный код в кавычках (например, node_color: "#cd7f32")

models/schema.yml

models:
- name: model_name
config:
docs: # изменено на config в версии v1.10
show: true | false
node_color: color_id # Используйте имя цвета (например, node_color: purple) или hex-код в кавычках (например, node_color: "#cd7f32")

Обратите внимание, что для обратной совместимости docs поддерживается как ключ верхнего уровня, но без возможностей наследования конфигурации.

Определение

Свойство docs можно использовать для задания конфигурации, относящейся к документации, для моделей. Оно поддерживает атрибут show, который управляет тем, отображаются ли узлы на автоматически сгенерированном сайте документации. Также поддерживается node_color для моделей, seeds, snapshots и analyses. Другие типы узлов не поддерживаются.

Примечание: Скрытые модели все равно будут отображаться в визуализации DAG dbt, но будут обозначены как "скрытые".

Значение по умолчанию

Значение по умолчанию для showtrue.

Примеры

Пометить модель как скрытую

models:
- name: sessions__tmp
docs:
show: false

Пометить подкаталог моделей как скрытый

Примечание: Это также может скрыть пакеты dbt.

dbt_project.yml
models:
# скрытие моделей в подкаталоге staging
tpch:
staging:
+materialized: view
+docs:
show: false

# скрытие пакета dbt
dbt_artifacts:
+docs:
show: false

Пользовательские цвета узлов

Атрибут docs поддерживает параметр node_color, который позволяет настраивать цвет отображения некоторых типов узлов в DAG в dbt Docs. Вы можете задавать цвета узлов в следующих файлах и при необходимости переопределять их.

  • Иерархия node_color:
    • <example-sql-file.sql> переопределяет schema.yml, который переопределяет dbt_project.yml

Обратите внимание: чтобы применить и увидеть настроенные цвета, необходимо выполнить или повторно выполнить команду dbt docs generate.

Пользовательские цвета узлов не применяются в Catalog

Пользовательский атрибут node_color не применяется в Catalog. Вместо этого Explorer предоставляет lenses — это слои карты для вашего DAG. Lenses помогают лучше понимать контекстные метаданные проекта в масштабе и различать отдельные модели или их подмножества.

Добавьте пользовательские node_colors к моделям, которые поддерживают это в подкаталогах, используя шестнадцатеричные коды или простое имя цвета.

Пример

marts/core/fct_orders.sql с node_color: red переопределяет dbt_project.yml с node_color: gold

marts/core/schema.yml с node_color: #000000 переопределяет dbt_project.yml с node_color: gold

dbt_project.yml
models:
tpch:
staging:
+materialized: view
+docs:
node_color: "#cd7f32"

marts:
core:
materialized: table
+docs:
node_color: "gold"
marts/core/schema.yml
models:
- name: dim_customers
description: Таблица измерений клиентов
docs:
node_color: '#000000'
marts/core/fct_orders.sql
{{
config(
materialized = 'view',
tags=['finance'],
docs={'node_color': 'red'}
)
}}

with orders as (

select * from {{ ref('stg_tpch_orders') }}

),
order_item as (

select * from {{ ref('order_items') }}

),
order_item_summary as (

select
order_key,
sum(gross_item_sales_amount) as gross_item_sales_amount,
sum(item_discount_amount) as item_discount_amount,
sum(item_tax_amount) as item_tax_amount,
sum(net_item_sales_amount) as net_item_sales_amount
from order_item
group by
1
),
final as (

select

orders.order_key,
orders.order_date,
orders.customer_key,
orders.status_code,
orders.priority_code,
orders.clerk_name,
orders.ship_priority,

1 as order_count,
order_item_summary.gross_item_sales_amount,
order_item_summary.item_discount_amount,
order_item_summary.item_tax_amount,
order_item_summary.net_item_sales_amount
from
orders
inner join order_item_summary
on orders.order_key = order_item_summary.order_key
)
select
*
from
final

order by
order_date

Если node_color несовместим с dbt docs, вы увидите ошибку компиляции, как в примере ниже.

Invalid color name for docs.node_color: aweioohafio23f. It is neither a valid HTML color name nor a valid HEX code.
dbt_project.yml
models:
tpch:
marts:
core:
materialized: table
+docs:
node_color: "aweioohafio23f"

Нашли ошибку?

0
Loading