추가 작업 구성

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

시작하기 전에

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

    Dataform으로 이동

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

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

  4. 테이블을 만듭니다.

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

필요한 역할

이 문서의 태스크를 완료하는 데 필요한 권한을 얻으려면 관리자에게 다음의 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은 SQLX 워크플로로 만든 BigQuery 테이블 및 뷰에 대한 자동화된 메타데이터 보강을 지원합니다. 테이블 작업이 완료되면 Dataform은 정의된 메타데이터를 해당 Knowledge Catalog 항목에 쓰려고 시도합니다. 이 프로세스는 다음과 같은 방식으로 SQL 실행과 분리됩니다.

  • 지연 시간: 동기화는 비동기식입니다. 즉, BigQuery 작업은 Knowledge Catalog 업데이트가 완료될 때까지 기다리지 않습니다.
  • 안정성: 동기화가 실패하면 (예: API 비율 한도 때문) Dataform이 업데이트를 자동으로 재시도합니다. 메타데이터 업데이트가 실패해도 Dataform 작업 또는 워크플로가 실패하지는 않습니다.

다음 코드 샘플은 SQLX 파일의 config 블록에서 Knowledge Catalog의 메타데이터를 정의하는 방법을 보여줍니다.

config {
  type: "table",
  metadata: {
    overview: "This table provides standardized trip data.",
    extraProperties: {
      generic: {
        system: "BigQuery",
        type: "table"
      }
    }
  }
}

메타데이터 업데이트 상태를 확인하려면 작업공간 실행 로그 검사의 안내를 따르세요.

보강된 메타데이터를 보려면 Knowledge Catalog에서 BigQuery 테이블 및 뷰를 검색하면 됩니다. 자세한 내용은 다음 리소스 검색을 참고하세요.

테이블 생성 중지

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

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

Managed Service for Apache Airflow 또는 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"]
}

다음 단계