이 문서에서는 BigQuery의 Dataform 작업공간에서 만들어진 테이블과 뷰를 격리하기 위해 작업공간 컴파일 재정의를 만드는 방법을 설명합니다. 작업공간 컴파일 재정의 기능을 사용하여 격리된 Dataform 개발 환경을 만들 수 있습니다.
작업공간 컴파일 재정의 정보
Dataform 작업공간에서 SQL 워크플로 코드를 개발하면 Dataform이 작업공간의 코드를 실시간으로 컴파일하여 작업공간의 컴파일 결과를 만듭니다. Dataform은 워크플로 설정 파일에 정의된 설정을 사용하여 작업공간 컴파일 결과를 만듭니다. 그런 다음 작업공간에서 실행을 트리거하면 Dataform이 작업공간 컴파일 결과를 BigQuery에서 실행합니다.
저장소의 모든 작업공간에 대해 워크플로 설정에서 설정된 기본 설정을 재정의하려면 작업공간 컴파일 재정의를 만들면 됩니다.
작업공간 컴파일 재정의를 사용하면 저장소의 모든 작업공간에 대해 다음 설정을 재정의할 수 있습니다.
- 프로젝트
- Dataform이 작업공간 컴파일 결과를 실행하는 Google Cloud 프로젝트.
workflow_settings.yaml
에defaultProject
로 설정되거나dataform.json
에defaultDatabase
로 설정되어 있습니다. - 테이블 프리픽스
- 저장소의 모든 작업공간의 모든 테이블 이름에 추가된 커스텀 접두사
- 스키마 서픽스
다음에 정의된 테이블의 스키마에 추가된 커스텀 서픽스.
workflow_settings.yaml
에defaultDataset
,dataform.json
에defaultSchema
로 설정되거나, 테이블config
블록의schema
매개변수에 정의되어 있습니다.
격리된 개발 환경을 만들려면 고유한 컴파일 재정의로 작업공간을 격리하면 됩니다. ${workspaceName}
변수를 사용하여 테이블 프리픽스 및 스키마 서픽스 컴파일 재정의를 동적으로 수정할 수 있습니다.
작업공간에서 실행을 수동으로 트리거하면 ${workspaceName}
변수가 작업공간의 이름을 작업공간 컴파일 재정의에 삽입합니다.
${workspaceName}
을 테이블 프리픽스로 설정하면 Dataform이 작업공간의 모든 테이블 이름에 작업공간의 이름을 추가합니다. 실행 후 BigQuery에서 테이블이 시작된 작업공간을 식별할 수 있습니다.
${workspaceName}
을 스키마 서픽스로 설정하면 Dataform이 작업공간의 이름을 defaultSchema
에 추가하여 작업공간 전용 커스텀 스키마를 만듭니다. 실행 후 BigQuery에서 전용 스키마의 특정 작업공간에서 실행된 모든 테이블을 찾을 수 있습니다.
동적 작업공간 컴파일 재정의 예시
다음 예시에서는 저장소에서 작업하는 개발자의 이름을 따서 명명된 작업공간(Sasha
및 Kai
)을 포함하는 저장소에 적용된 동적 작업공간 컴파일 재정의를 보여줍니다.
이 예시에서 작업공간 컴파일 재정의의 목표는 Sasha와 Kai의 격리된 개발 환경을 만드는 것입니다.
workflow_settings.yaml
에서는 다음과 같은 기본 설정이 설정되어 있습니다.
defaultProject
:analytics
defaultDataset
:dataform
다음 작업공간 컴파일 재정의는 저장소의 각 작업공간에 대한 동적 테이블 프리픽스 및 스키마 서픽스를 만듭니다.
- Google Cloud 프로젝트 ID :
analytics_dev
- 테이블 프리픽스:
${workspaceName}
- 스키마 서픽스:
${workspaceName}
사샤가 Sasha
작업공간에서 실행을 수동으로 트리거하면 Dataform은 다음 설정으로 콘텐츠를 실행합니다.
- Google Cloud 프로젝트:
analytics_dev
- 스키마:
dataform_sasha
- 테이블 이름:
sasha_name
(예:sasha_orders
)
카이가 Kai
작업공간에서 수동으로 실행을 트리거하면 Dataform은 다음 설정으로 콘텐츠를 실행합니다.
- Google Cloud 프로젝트:
analytics_dev
- 스키마:
dataform_kai
- 테이블 이름:
kai_name
(예:kai_orders
)
시작하기 전에
Google Cloud 콘솔에서 Dataform 페이지로 이동합니다.
저장소를 선택하거나 만듭니다.
(선택사항) 기본 Google Cloud 프로젝트를 재정의하려면 사용할 Google Cloud 프로젝트에 대한 액세스 권한을 Dataform 서비스 계정에 부여합니다.
필요한 역할
작업공간 컴파일 재정의를 만드는 데 필요한 권한을 얻으려면 관리자에게 저장소에 대한 Dataform 관리자(roles/dataform.admin
) IAM 역할 부여를 요청하세요.
역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.
커스텀 역할이나 다른 사전 정의된 역할을 통해 필요한 권한을 얻을 수도 있습니다.
작업공간 컴파일 재정의 만들기
Dataform 작업공간 컴파일 재정의를 만들려면 다음 단계를 따르세요.
- 저장소에서 설정으로 이동합니다.
- 수정을 클릭합니다.
- 작업공간 컴파일 재정의 창의 Google Cloud 프로젝트 ID 필드에 Google Cloud 프로젝트의 ID를 입력합니다.
- 테이블 프리픽스 필드에 모든 테이블 이름의 프리픽스를 입력합니다.
- (선택사항) 각 작업공간에 고유한 동적 테이블 프리픽스를 만들려면 테이블 프리픽스로
${workspaceName}
을 입력합니다.
- (선택사항) 각 작업공간에 고유한 동적 테이블 프리픽스를 만들려면 테이블 프리픽스로
- 스키마 서픽스 필드에 생성된 테이블 또는 뷰의 스키마에 추가할 서픽스를 입력합니다.
- 선택사항: 각 작업공간에 고유한 동적 스키마 서픽스를 만들려면 테이블 서픽스로
${workspaceName}
을 입력합니다.
- 선택사항: 각 작업공간에 고유한 동적 스키마 서픽스를 만들려면 테이블 서픽스로
- 저장을 클릭합니다.
Dataform이 저장소의 모든 작업공간에 작업공간 컴파일 재정의를 적용합니다.
작업공간 컴파일 재정의 수정
Dataform 작업공간 컴파일 재정의를 수정하려면 다음 단계를 따르세요.
- 저장소에서 설정으로 이동합니다.
- 수정을 클릭합니다.
- 작업공간 컴파일 재정의를 수정한 다음 저장을 클릭합니다.
작업공간 컴파일 재정의 삭제
Dataform 작업공간 컴파일 재정의를 삭제하려면 다음 단계를 따르세요.
- 저장소에서 설정으로 이동합니다.
- 수정을 클릭합니다.
- 작업공간 컴파일 재정의 창에서 모두 지우기를 클릭한 다음 저장을 클릭합니다.
다음 단계
- 수동으로 실행을 트리거하는 방법을 알아보려면 실행 트리거를 참조하세요.