다음을 통해 공유


작업에 대한 dbt 태스크

dbt 태스크를 사용하여 Azure Databricks에서 dbt 프로젝트를 구성하고 실행합니다.

Important

dbt 태스크가 실행되면 Databricks는 DBT_ACCESS_TOKEN 필드에 구성된 보안 주체로 을 삽입합니다.

dbt 작업 구성

다음을 수행하여 작업 UI의 dbt 탭에서 태스크를 추가합니다.

  1. 형식 드롭다운 메뉴에서 selectdbt.

  2. 원본 드롭다운 메뉴에서 작업 영역 원격 Git 리포지토리에 있는 프로젝트에 대해 Azure Databricks 작업 영역 폴더 또는 Git 공급자 있는 dbt 프로젝트를 사용할 수 있습니다.

    • 작업 영역를 사용하는 경우, 제공된 파일 탐색기를 이용하여프로젝트 디렉터리를 하십시오.

    • Git 공급자인 경우, 프로젝트 리포지토리의 Git 정보를 입력하기 위해 편집을(를) 클릭하십시오. 작업에서 Git 사용을 참조하세요.

      프로젝트가 리포지토리의 루트 디렉터리에 없는 경우, 프로젝트 디렉터리 필드를 사용하여 경로를 지정합니다.

  3. dbt 명령 텍스트 상자에서 실행할 dbt 명령은 dbt deps, dbt seed, dbt run이 기본값입니다. 제공된 명령은 순차적으로 실행됩니다. 워크플로에 필요한 경우 이러한 필드를 추가, remove또는 편집합니다. dbt 명령이란?을 참조하세요.

  4. SQL 웨어하우스dbt에서 생성된 SQL을 실행하도록 SQL 웨어하우스를 select. SQL 웨어하우스 드롭다운 메뉴에는 서버리스 및 Pro SQL 웨어하우스만 표시됩니다.

  5. Warehouse catalog지정합니다. 설정되지 않은 경우, 작업 영역 기본값이 사용됩니다.

  6. 창고 schema지정합니다. 기본적으로 schemadefault 사용됩니다.

  7. dbt CLI 컴퓨팅을 선택하여 dbt Core를 실행합니다. Databricks는 작업용 서버리스 컴퓨팅을 사용하거나, 단일 노드 클러스터로 구성된 클래식 작업 컴퓨팅을 사용하는 것을 권장합니다.

  8. 태스크의 dbt-databricks 버전을 지정합니다.

    Serverless 컴퓨팅을 사용하는 경우 환경 및 라이브러리 필드를 사용하여 새 환경을 select편집하거나 추가합니다. Notebook 종속성 설치를 참조하세요.

    다른 모든 컴퓨팅 구성에서는 종속 라이브러리 필드는 기본값으로 dbt-databricks>=1.0.0,<2.0.0가 채워집니다. 이 설정을 삭제하고 PyPi 라이브러리를 + 추가하여 버전을 고정합니다.

    참고 항목

    Databricks는 dbt 작업을 dbt-databricks 패키지의 특정 버전에 고정하여 개발 및 프로덕션 실행에 동일한 버전을 사용할 것을 권장합니다. Databricks는 dbt-databricks 패키지 버전 1.6.0 이상을 권장합니다.

  9. 작업 만들기를 클릭합니다.

dbt 명령이란?

dbt 명령 필드를 사용하면 dbt 명령줄 인터페이스(CLI)를 사용하여 실행할 명령을 지정할 수 있습니다. dbt CLI에 관한 전체 내용은 dbt 문서를 참조하세요.

dbt 설명서에서 해당 dbt 버전에서 지원하는 명령을 확인합니다.

dbt 명령에 옵션 전달

dbt 노드 선택 구문으로 특정 실행에 포함하거나 제외할 리소스를 지정할 수 있습니다. run, build 등의 명령에 --select, --exclude를 포함한 플래그를 지정할 수 있습니다. 전체 설명은 dbt 구문 개요 문서를 참조하세요.

추가 구성 플래그는 dbt에서 프로젝트를 실행하는 방법을 제어합니다. 공식 dbt 문서의 명령줄 옵션column에서 사용 가능한 플래그 list에 대해 참조하세요.

일부 플래그는 위치 인수를 사용합니다. 플래그의 일부 인수는 문자열입니다. 예제 및 설명은 dbt 문서를 참조하세요.

dbt 명령에 변수 전달

--vars 플래그를 사용하여 정적 또는 동적 values을 dbt 명령 필드의 명령에 전달합니다.

따옴표로 구분된 JSON을 --vars에 전달합니다. 다음 예제와 같이 JSON의 모든 키와 values는 큰따옴표로 묶어야 합니다.

dbt run --vars '{"volume_path": "/Volumes/path/to/data", "date": "2024/08/16"}'

매개 변수가 있는 dbt 명령 예시

dbt로 작업할 때 작업 values, 작업 parameters및 동적 작업 parameters 참조할 수 있습니다. Values는 명령 실행 전에 dbt 명령의 필드에 일반 텍스트로 대체됩니다. 태스크 간에 전달하거나 작업 메타데이터를 참조하는 방법에 대한 자세한 내용은 작업매개 변수화 참조하세요.

다음 예제에서는 다음 작업 parameters 구성되었다고 가정합니다.

매개 변수 이름 매개 변수 값
volume_path /Volumes/path/to/data
table_name my_table
select_clause --select "tag:nightly"
dbt_refresh --full-refresh

다음 예제에서는 이러한 parameters참조하는 유효한 방법을 보여 줍니다.

dbt run '{"volume_path": "{{job.parameters.volume_path}}"}'
dbt run --select "{{job.parameters.table_name}}"
dbt run {{job.parameters.select_clause}}
dbt run {{job.parameters.dbt_refresh}}
dbt run '{"volume_path": "{{job.parameters.volume_path}}"}' {{job.parameters.dbt_refresh}}

다음 예제와 같이 동적 parameters 및 태스크 values참조할 수도 있습니다.

dbt run --vars '{"date": "{{job.start_time.iso_date}}"}'
dbt run --vars '{"sales_count": "{{tasks.sales_task.values.sales_count}}"}'