alias
- Модели
- Сиды
- Снапшоты
- Тесты
Укажите пользовательский псевдоним для модели в вашем файле dbt_project.yml
, models/properties.yml
или блоке конфигурации в SQL файле.
Например, если у вас есть модель, которая вычисляет sales_total
, и вы хотите дать ей более удобный для пользователя псевдоним, вы можете сделать это, как показано в следующих примерах.
В файле dbt_project.yml
следующий пример задает псевдоним по умолчанию для модели sales_total
на уровне проекта:
models:
your_project:
sales_total:
+alias: sales_dashboard
Следующий пример указывает псевдоним как часть метаданных файла models/properties.yml
, что полезно для централизованной конфигурации:
version: 2
models:
- name: sales_total
config:
alias: sales_dashboard
Следующий пример назначает псевдоним непосредственно в файле models/sales_total.sql
:
{{ config(
alias="sales_dashboard"
) }}
Это вернет analytics.finance.sales_dashboard
в базе данных вместо стандартного analytics.finance.sales_total
.
Настройте псевдоним для сида в вашем файле dbt_project.yml
или properties.yml
. Следующие примеры демонстрируют, как задать псевдоним для сида с именем product_categories
как categories_data
.
В файле dbt_project.yml
на уровне проекта:
seeds:
your_project:
product_categories:
+alias: categories_data
В файле seeds/properties.yml
:
version: 2
seeds:
- name: product_categories
config:
alias: categories_data
Это вернет имя analytics.finance.categories_data
в базе данных.
В следующем примере сид в seeds/country_codes.csv
будет построен как с именем country_mappings
.
seeds:
jaffle_shop:
country_codes:
+alias: country_mappings
Настройте псевдоним для снапшота в вашем файле dbt_project.yml
, файле snapshots/snapshot_name.yml
или блоке конфигурации.
Следующие примеры демонстрируют, как задать псевдоним для снапшота с именем your_snapshot
как the_best_snapshot
.
В файле dbt_project.yml
на уровне проекта:
snapshots:
your_project:
your_snapshot:
+alias: the_best_snapshot
В файле snapshots/snapshot_name.yml
:
version: 2
snapshots:
- name: your_snapshot_name
config:
alias: the_best_snapshot
</File>
В файле `snapshots/your_snapshot.sql`:
<File name='snapshots/your_snapshot.sql'>
```sql
{{ config(
alias="the_best_snapshot"
) }}
Это построит ваш снапшот как analytics.finance.the_best_snapshot
в базе данных.
Настройте псевдоним для теста данных в вашем файле dbt_project.yml
, properties.yml
или блоке конфигурации в файле модели.
Сле дующие примеры демонстрируют, как задать псевдоним для уникального теста данных с именем order_id
как unique_order_id_test
для идентификации конкретного теста данных.
В файле dbt_project.yml
на уровне проекта:
tests:
your_project:
+alias: unique_order_id_test
В файле models/properties.yml
:
models:
- name: orders
columns:
- name: order_id
tests:
- unique:
alias: unique_order_id_test
В файле tests/unique_order_id_test.sql
:
{{ config(
alias="unique_order_id_test",
severity="error"
) }}
При использовании store_failures_as
, это вернет имя analytics.dbt_test__audit.orders_order_id_unique_order_id_test
в базе данных.
Определение
При необходимости укажите пользовательский псевдоним для модели, теста данных, снапшота или сида.
Когда dbt создает отношение (/) в базе данных, оно создается как: {{ database }}.{{ schema }}.{{ identifier }}
, например, analytics.finance.payments
.
Стандартное поведение dbt:
- Если пользовательский псевдоним не указан, идентификатором отношения является имя ресурса (т.е. имя файла).
- Если пользовательский псевдоним указан, идентификатором отношения является значение
{{ alias }}
.
Примечание С эфемерной моделью dbt всегда будет применять префикс __dbt__cte__
к идентификатору . Это означает, что если псевдоним установлен на эфемерной модели, то ее идентификатор CTE будет __dbt__cte__{{ alias }}
, но если псевдоним не установлен, то ее идентификатор будет __dbt__cte__{{ filename }}
.
Чтобы узнать больше о том, как изменить способ генерации идентификатора отношения dbt, прочитайте Использование псевдонимов.