Операторы графа
Оператор "плюс"
Если +
размещен в начале селектора модели, он выберет всех предков выбранной модели и саму модель. Если +
размещен в конце строки, он выберет всех потомков выбранной модели и саму модель.
dbt run --select "my_model+" # выбрать my_model и всех потомков
dbt run --select "+my_model" # выбрать my_model и всех предков
dbt run --select "+my_model+" # выбрать my_model, всех его предков и потомков
Оператор "n-плюс"
Вы можете настроить поведение оператора +
, указав количество шагов, через которые нужно пройти.
dbt run --select "my_model+1" # выбрать my_model и его потомков первой степени
dbt run --select "2+my_model" # выбрать my_model, его предков первой степени ("родителей") и предков второй степени ("бабушек и дедушек")
dbt run --select "3+my_model+4" # выбрать my_model, его предков до 3-й степени и потомков до 4-й степени
Оператор "собака"
Оператор @
похож на +
, но также включает всех предков всех потомков выбранной модели. Это полезно в средах непрерывной интеграции, где вы хотите построить модель и всех ее потомков, но предки этих потомков могут еще не существовать в схеме. Оператор @
(который может быть размещен только в начале имени модели) выберет столько степеней предков ("родителей", "бабушек и дедушек" и так далее), сколько необходимо для успешного построения всех потомков указанной модели.
Селектор @snowplow_web_page_context
построит все три модели, показанные на диаграмме ниже.
dbt run --select "@my_model" # выбрать my_model, его потомков и предков его потомков