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

О переменных target

Переменная target содержит информацию о вашем подключении к хранилищу.

  • dbt Core: Эти значения основаны на target, определённом в вашем файле profiles.yml. Обратите внимание, что для некоторых адаптеров могут потребоваться дополнительные шаги настройки. Подробности см. на странице set up page для вашей платформы данных.
  • dbt Чтобы узнать больше о настройке адаптера в dbt, см. раздел About data platform connections.
    • Orchestrator: target.name задаётся отдельно для каждого job, как описано в разделе Custom target names. Для остальных атрибутов значения определяются подключением deployment. Чтобы посмотреть эти значения, нажмите Deploy и выберите Environments. Затем выберите соответствующее deployment environment и нажмите Settings.
    • Studio IDE: Эти значения определяются вашим подключением и учётными данными. Чтобы изменить их, нажмите на имя своей учётной записи в левом боковом меню и выберите Account settings. Затем нажмите Credentials. Выберите и отредактируйте проект, чтобы настроить учётные данные и имя target.

Некоторые конфигурации общие для всех адаптеров, в то время как другие специфичны для адаптеров.

Общие

ПеременнаяПримерОписание
target.profile_namejaffle_shopИмя активного профиля
target.namedevИмя активной цели
target.schemadbt_aliceИмя схемы dbt (или, набора данных в BigQuery)
target.typepostgresАктивный используемый адаптер. Один из "postgres", "snowflake", "bigquery", "redshift", "databricks"
target.threads4Количество потоков, используемых dbt
Loading table...

Специфичные для адаптера

Snowflake

ПеременнаяПримерОписание
target.databaseRAWИмя базы данных, указанное в активной цели.
target.warehouseTRANSFORMИмя виртуального склада Snowflake
target.userTRANSFORM_USERПользователь, указанный в активной цели
target.roleTRANSFORM_ROLEРоль, указанная в активной цели
target.accountabc123Учетная запись, указанная в активной цели
Loading table...

Postgres/Redshift

ПеременнаяПримерОписание
target.dbnameanalyticsИмя базы данных, указанное в активной цели.
target.hostabc123.us-west-2.redshift.amazonaws.comХост, указанный в активной цели
target.userdbt_userПользователь, указанный в активной цели
target.port5439Порт, указанный в активном профиле
Loading table...

BigQuery

ПеременнаяПримерОписание
target.projectabc-123Проект, указанный в активном профиле
target.datasetdbt_aliceНабор данных активного профиля
Loading table...

Примеры

Использование target.name для ограничения данных в dev

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

select
*
from source('web_events', 'page_views')
{% if target.name == 'dev' %}
where created_at >= dateadd('day', -3, current_date)
{% endif %}

Использование target.name для изменения вашей исходной базы данных

Если у вас настроены определенные базы данных Snowflake для ваших сред dev/qa/prod, вы можете настроить ваши источники для компиляции в разные базы данных в зависимости от вашей среды.

 
sources:
- name: source_name
database: |
{%- if target.name == "dev" -%} raw_dev
{%- elif target.name == "qa" -%} raw_qa
{%- elif target.name == "prod" -%} raw_prod
{%- else -%} invalid_database
{%- endif -%}
schema: source_schema

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

0
Loading