추가 작업 구성

이 문서에서는 다음을 수행하는 방법을 보여줍니다.

시작하기 전에

  1. Google Cloud 콘솔에서 Dataform 페이지로 이동합니다.

    Dataform으로 이동

  2. 저장소를 선택하거나 만듭니다.

  3. 개발 작업공간을 선택하거나 만듭니다.

  4. 테이블 만들기

  5. 다음 유형 중 하나의 SQLX 파일을 정의합니다.

필요한 역할

이 문서의 태스크를 완료하는 데 필요한 권한을 얻으려면 관리자에게 작업공간에 대한 Dataform 편집자 (roles/dataform.editor) IAM 역할을 부여해 달라고 요청하세요. 역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.

커스텀 역할이나 다른 사전 정의된 역할을 통해 필요한 권한을 얻을 수도 있습니다.

테이블 생성 전에 실행할 SQL 문 정의

BigQuery에서 선택한 테이블을 만들기 전에 하나 이상의 SQL 문을 실행하도록 Dataform을 구성할 수 있습니다. Dataform에서 선택한 테이블을 만들기 전에 SQL 문을 실행하려면 테이블 정의 SQLX 파일의 pre_operations 블록에 문을 추가합니다.

Dataform에서 특정 테이블을 만들기 전에 실행되는 커스텀 SQL 문을 만들려면 다음 단계를 따르세요.

  1. 개발 작업공간으로 이동합니다.
  2. 파일 창에서 definitions/를 펼칩니다.
  3. SQLX 테이블 정의 파일을 엽니다.
  4. config 블록 외부에 pre_operations { ... }를 입력합니다.
  5. pre_operations { ... } 내부에 SQL 문을 추가합니다.
  6. 선택사항: 여러 문을 추가하려면 ---로 구분하세요.
  7. (선택사항): 형식을 클릭합니다.

다음 코드 샘플은 select 문에서 사용할 수 있는 임시 함수를 만드는 pre_operations 문을 보여줍니다.

pre_operations {
  CREATE TEMP FUNCTION AddFourAndDivide(x INT64, y INT64)
    RETURNS FLOAT64
    AS ((x + 4) / y);
}

테이블 생성 후에 실행할 SQL 문 정의

BigQuery에서 선택한 테이블을 만든 후에 하나 이상의 SQL 문을 실행하도록 Dataform을 구성할 수 있습니다. Dataform에서 선택한 테이블을 만든 후에 SQL 문을 실행하려면 테이블 정의 SQLX 파일의 post_operations 블록에 문을 추가합니다. post_operations 블록에 여러 SQL 문을 추가할 수 있습니다.

Dataform에서 특정 테이블을 만든 후에 실행되는 커스텀 SQL 문을 만들려면 다음 단계를 따르세요.

  1. 개발 작업공간으로 이동합니다.
  2. 파일 창에서 definitions/를 펼칩니다.
  3. SQLX 테이블 정의 파일을 엽니다.
  4. config 블록 외부에 post_operations { ... }를 입력합니다.
  5. post_operations { ... } 내부에 SQL 문을 추가합니다.
  6. (선택사항): 형식을 클릭합니다.

다음 코드 샘플은 생성된 테이블에 대한 액세스 권한을 그룹에 부여하는 post_operations 문을 보여줍니다.

  post_operations {
    GRANT `roles/bigquery.dataViewer`
    ON
    TABLE ${self()}
    TO "group:allusers@example.com", "user:otheruser@example.com"
  }

테이블 생성 중지

Dataform에서 BigQuery에 선택한 테이블을 만들지 못하도록 하려면 SQLX 테이블 정의 파일에서 테이블을 사용 중지하면 됩니다. Dataform은 사용 중지된 테이블을 종속 항목 그래프에 유지하지만 컴파일 및 생성을 수행하지 않습니다. 예를 들어 테이블이 실패하여 문제를 해결하는 동안 전체 워크플로가 실패하지 않게 하려는 경우에 이 방법이 유용할 수 있습니다.

테이블을 사용 중지하려면 다음 단계를 따르세요.

  1. 개발 작업공간으로 이동합니다.
  2. 파일 창에서 definitions/를 펼칩니다.
  3. SQLX 테이블 정의 파일을 선택합니다.
  4. 파일의 config 블록에 disabled: true을 입력합니다.
  5. (선택사항): 형식을 클릭합니다.

다음 코드 샘플은 사용 중지된 테이블을 보여줍니다.

config {
  type: "table",
  disabled: true
}

select * from ${ref("source_data")}

실행 태그 추가

이 섹션에서는 Dataform Core SQLX 파일에 태그를 추가하여 워크플로를 분류하는 방법을 보여줍니다.

워크플로의 구성요소를 컬렉션으로 구성하려면 다음 유형의 SQLX 파일에 맞춤 태그를 추가하면 됩니다.

  • table
  • view
  • incremental
  • assertion
  • operations

워크플로 실행 중에 선택한 태그가 있는 파일만 실행할 수 있습니다.

Cloud Composer 또는 Workflows와 Cloud Scheduler를 사용하면 선택된 태그가 있는 Dataform 워크플로를 특정 간격으로 실행하는 일정을 만들 수 있습니다.

태그 추가

SQLX 파일에 여러 태그를 추가할 수 있습니다.

SQLX 파일에 태그를 추가하려면 다음 단계를 따르세요.

  1. 개발 작업공간으로 이동합니다.
  2. 파일 창에서 definitions/를 펼칩니다.
  3. SQLX 파일을 선택합니다.
  4. config 블록에 다음 형식의 태그를 추가합니다.

    tags: ["CUSTOM_TAG"]
    

    CUSTOM_TAG를 태그로 바꿉니다.

  5. (선택사항): 태그를 여러 개 추가하려면 쉼표(,)로 구분합니다.

  6. (선택사항): 형식을 클릭합니다.

다음 코드 샘플은 dailyhourly 태그가 있는 user_counts 뷰를 보여줍니다.

config {
  type: "view",
  name: "user_counts",
  tags: ["daily", "hourly"]
}

다음 단계