이 문서에서는 다음을 수행하는 방법을 보여줍니다.
시작하기 전에
Google Cloud 콘솔에서 Dataform 페이지로 이동합니다.
저장소를 선택하거나 만듭니다.
개발 작업공간을 선택하거나 만듭니다.
다음 유형 중 하나의 SQLX 파일을 정의합니다.
필요한 역할
이 문서의 태스크를 완료하는 데 필요한 권한을 얻으려면 관리자에게 작업공간에 대한 Dataform 편집자 (roles/dataform.editor
) IAM 역할을 부여해 달라고 요청하세요.
역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.
커스텀 역할이나 다른 사전 정의된 역할을 통해 필요한 권한을 얻을 수도 있습니다.
테이블 생성 전에 실행할 SQL 문 정의
BigQuery에서 선택한 테이블을 만들기 전에 하나 이상의 SQL 문을 실행하도록 Dataform을 구성할 수 있습니다. Dataform에서 선택한 테이블을 만들기 전에 SQL 문을 실행하려면 테이블 정의 SQLX 파일의 pre_operations
블록에 문을 추가합니다.
Dataform에서 특정 테이블을 만들기 전에 실행되는 커스텀 SQL 문을 만들려면 다음 단계를 따르세요.
- 개발 작업공간으로 이동합니다.
- 파일 창에서
definitions/
를 펼칩니다. - SQLX 테이블 정의 파일을 엽니다.
config
블록 외부에pre_operations { ... }
를 입력합니다.pre_operations { ... }
내부에 SQL 문을 추가합니다.- 선택사항: 여러 문을 추가하려면
---
로 구분하세요. - (선택사항): 형식을 클릭합니다.
다음 코드 샘플은 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 문을 만들려면 다음 단계를 따르세요.
- 개발 작업공간으로 이동합니다.
- 파일 창에서
definitions/
를 펼칩니다. - SQLX 테이블 정의 파일을 엽니다.
config
블록 외부에post_operations { ... }
를 입력합니다.post_operations { ... }
내부에 SQL 문을 추가합니다.- (선택사항): 형식을 클릭합니다.
다음 코드 샘플은 생성된 테이블에 대한 액세스 권한을 그룹에 부여하는 post_operations
문을 보여줍니다.
post_operations {
GRANT `roles/bigquery.dataViewer`
ON
TABLE ${self()}
TO "group:allusers@example.com", "user:otheruser@example.com"
}
테이블 생성 중지
Dataform에서 BigQuery에 선택한 테이블을 만들지 못하도록 하려면 SQLX 테이블 정의 파일에서 테이블을 사용 중지하면 됩니다. Dataform은 사용 중지된 테이블을 종속 항목 그래프에 유지하지만 컴파일 및 생성을 수행하지 않습니다. 예를 들어 테이블이 실패하여 문제를 해결하는 동안 전체 워크플로가 실패하지 않게 하려는 경우에 이 방법이 유용할 수 있습니다.
테이블을 사용 중지하려면 다음 단계를 따르세요.
- 개발 작업공간으로 이동합니다.
- 파일 창에서
definitions/
를 펼칩니다. - SQLX 테이블 정의 파일을 선택합니다.
- 파일의
config
블록에disabled: true
을 입력합니다. - (선택사항): 형식을 클릭합니다.
다음 코드 샘플은 사용 중지된 테이블을 보여줍니다.
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 파일에 태그를 추가하려면 다음 단계를 따르세요.
- 개발 작업공간으로 이동합니다.
- 파일 창에서
definitions/
를 펼칩니다. - SQLX 파일을 선택합니다.
config
블록에 다음 형식의 태그를 추가합니다.tags: ["CUSTOM_TAG"]
CUSTOM_TAG
를 태그로 바꿉니다.(선택사항): 태그를 여러 개 추가하려면 쉼표(
,
)로 구분합니다.(선택사항): 형식을 클릭합니다.
다음 코드 샘플은 daily
및 hourly
태그가 있는 user_counts
뷰를 보여줍니다.
config {
type: "view",
name: "user_counts",
tags: ["daily", "hourly"]
}
다음 단계
workflow_settings.yaml
에서 Dataform 설정을 구성하는 방법을 알아보려면 Dataform 워크플로 설정 구성을 참고하세요.- 어설션으로 테이블 데이터를 테스트하는 방법은 어설션으로 테이블 테스트를 참조하세요.
- include를 사용하여 코드를 재사용하는 방법은 include를 사용하여 단일 저장소에서 코드 재사용을 참고하세요.
- 실행을 수동으로 트리거하는 방법은 실행 트리거 참조하기
- Dataform에서 BigQuery 정책 태그를 추가하는 방법은 BigQuery 정책 태그 추가를 참고하세요.