【dbt Docs】Building a dbt Project - Hooks & Operations
Hooks & Operations
Related documentation
Assumed knowledge
Getting started
효과적인 데이터베이스 관리에서는 다음과 같은 추가 SQL 문이 필요할 수 있습니다.
Hooks
연결고리는 SQL의 sni 애완동물로 서로 다른 시간에 실행됩니다.
pre-hook
: 모델, 시드 또는 스냅샷을 생성하기 전에 수행합니다.post-hook
: 모형, 피드 또는 캡처 구축 후 실행됩니다.on-run-start
: 시작dbt run
, dbt seed
또는 dbt snapshot
on-run-end
: 최종 실행dbt run
, dbt seed
또는 dbt snapshot
dbt_project.yml
파일에 정의되어 있습니다.pre-hook
와 post-hook
는 모두 config
블록으로 정의할 수 있다.:::yml:dbt_project.yml
on-run-end:
+post-hook:
- "grant select on {{ this }} to role reporter"
:::
models/
{{ config(
post_hook=[
"grant select on {{ this }} to role reporter"
]
) }}
select ...
Operations
명령 명령 명령을 사용하여 작업을 수행할 수 있는 매크로입니다.따라서 조작은 실제적으로dbt 프로젝트 내의 개별 자원이 아니다.이것들은 단지 모델을 실행하지 않고 매크로를 호출하는 편리한 방법일 뿐이다.
run-operation
macros/grant_select.sql{% macro grant_select(role) %}
{% set sql %}
grant usage on schema {{ target.schema }} to role {{ role }};
grant select on all tables in schema {{ target.schema }} to role {{ role }};
grant select on all views in schema {{ target.schema }} to role {{ role }};
{% endset %}
{% do run_query(sql) %}
{% do log("Privileges granted", info=True) %}
{% endmacro %}
이 매크로를 작업으로 호출하려면 dbt run-operation grantselect-args’{role:reporter}’.$ dbt run-operation grant_select --args '{role: reporter}'
Running with dbt=0.16.1
Privileges granted
Additional examples
Reference
이 문제에 관하여(【dbt Docs】Building a dbt Project - Hooks & Operations), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/gak_t12/articles/66ca179833d43a텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)