alias
Укажите пользовательский алиас для модели, теста данных, snapshot или seed и присвойте ему более удобное для пользователя имя в базе данных.
- Модели
- Сиды
- Снапшоты
- Тесты
Укажите пользовательский алиас для модели в YAML‑файле проекта (dbt_project.yml), в YAML‑файле с описанием свойств (например, models/properties.yml) через config, либо в блоке config внутри SQL‑файла.
Например, если у вас есть модель, которая вычисляет sales_total, и вы хотите дать ей более удобный для пользователя псевдоним, вы можете сделать это, как показано в следующих примерах.
В файле dbt_project.yml следующий пример задает псевдоним по умолчанию для модели sales_total на уровне проекта:
models:
your_project:
sales_total:
+alias: sales_dashboard
Следующий пример указывает псевдоним как часть метаданных файла models/properties.yml, что полезно для централизованной конфигурации:
models:
- name: sales_total
config:
alias: sales_dashboard
Следующий пример назначает псевдоним непосредственно в файле models/sales_total.sql:
{{ config(
alias="sales_dashboard"
) }}
Это вернет analytics.finance.sales_dashboard в базе данных вместо стандартного analytics.finance.sales_total.
Настройте alias для seed в файле проекта (dbt_project.yml) или в конфигурационном файле свойств (например, seeds/properties.yml). Следующие примеры показывают, как задать alias для seed с именем product_categories, чтобы он использовался под именем categories_data.
В файле dbt_project.yml на уровне проекта:
seeds:
your_project:
product_categories:
+alias: categories_data
В файле seeds/properties.yml:
seeds:
- name: product_categories
config:
alias: categories_data
Это вернет имя analytics.finance.categories_data в базе данных.
В следующем примере сид в seeds/country_codes.csv будет построен как table с именем country_mappings.
seeds:
jaffle_shop:
country_codes:
+alias: country_mappings
Настройте alias для snapshot в YAML-файле проекта (dbt_project.yml), YAML-файле свойств (например, snapshots/snapshot_name.yml) или в блоке конфигурации SQL-файла модели.
Следующие примеры демонстрируют, как задать псевдоним для снапшота с именем your_snapshot как the_best_snapshot.
В файле dbt_project.yml на уровне проекта:
snapshots:
your_project:
your_snapshot:
+alias: the_best_snapshot
В файле snapshots/snapshot_name.yml:
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 в базе данных.
Настройте alias для data test в YAML-файле проекта (dbt_project.yml), в YAML-файле свойств (например, models/properties.yml) или в блоке config внутри SQL-файла модели.
Следующие примеры демонстрируют, как задать псевдоним для уникального теста данных с именем order_id как unique_order_id_test для идентификации конкретного теста данных.
В файле dbt_project.yml на уровне проекта:
data_tests:
your_project:
+alias: unique_order_id_test
В файле models/properties.yml:
models:
- name: orders
columns:
- name: order_id
data_tests:
- unique:
arguments: # available in v1.10.5 and higher. Older versions can set the <argument_name> as the top-level property.
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 создает отношение (table/view) в базе данных, оно создается как: {{ database }}.{{ schema }}.{{ identifier }}, например, analytics.finance.payments.
Стандартное поведение dbt:
- Если пользовательский псевдоним не указан, идентификатором отношения является имя ресурса (т.е. имя файла).
- Если пользовательский псевдоним указан, идентификатором отношения является значение
{{ alias }}.
Примечание С эфемерной моделью dbt всегда будет применять префикс __dbt__cte__ к идентификатору CTE. Это означает, что если псевдоним установлен на эфемерной модели, то ее идентификатор CTE будет __dbt__cte__{{ alias }}, но если псевдоним не установлен, то ее идентификатор будет __dbt__cte__{{ filename }}.
Чтобы узнать больше о том, как изменить способ генерации идентификатора отношения dbt, прочитайте Использование псевдонимов.