컴파일 구성

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

시작하기 전에

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

    Dataform으로 이동

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

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

  4. 선택사항: 출시 구성에서 기본 Google Cloud 프로젝트를 재정의하려면 사용하려는 프로젝트에 대해 Dataform 서비스 계정에 액세스 권한을 부여합니다.

필요한 역할

이 문서의 태스크를 완료하는 데 필요한 권한을 얻으려면 관리자에게 저장소에 대한 다음 IAM 역할을 부여해 달라고 요청하세요.

역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.

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

Dataform의 코드 수명 주기 소개

이 섹션에서는 Dataform의 코드 수명 주기와 Dataform 내에서 컴파일 및 실행을 구성하는 방법을 설명합니다.

Dataform 코드 수명 주기는 다음 단계로 구성됩니다.

개발
Dataform 작업공간에서 워크플로를 개발합니다.
컴파일

Dataform은 작업공간의 워크플로 코드를 실시간으로 SQL로 컴파일하여 BigQuery에서 실행할 수 있는 작업공간의 컴파일 결과를 만듭니다. Dataform은 워크플로 설정 파일에서 정의한 설정을 사용하여 컴파일 결과를 만듭니다.

Dataform 컴파일은 컴파일 일관성을 위해 기본 제공됩니다. 즉, 동일한 코드가 매번 동일한 SQL 컴파일 결과로 컴파일됩니다. Dataform은 인터넷 액세스 없이 샌드박스 환경에서 코드를 컴파일합니다. 컴파일 중에는 외부 API 호출과 같은 추가 작업을 수행할 수 없습니다.

실행

워크플로 호출에서 Dataform은 BigQuery에서 작업공간 컴파일 결과를 실행합니다.

필요에 맞게 Dataform 코드 수명 주기를 조정하려면 Dataform이 워크플로를 실행하는 위치와 방법에 영향을 주도록 컴파일 결과를 구성할 수 있습니다. 그런 다음 Dataform이 전체 워크플로 또는 선택한 요소를 실행하는 시기에 영향을 주도록 실행을 수동으로 트리거하거나 예약할 수 있습니다.

Dataform 컴파일을 구성하는 방법

기본적으로 Dataform은 워크플로 설정 파일의 설정을 사용하여 컴파일 결과를 생성합니다. 컴파일 재정의를 사용하여 기본 설정을 재정의하여 맞춤 컴파일 결과를 만들 수 있습니다. 그런 다음 맞춤 컴파일 결과의 실행을 수동으로 트리거하거나 실행을 예약할 수 있습니다.

Dataform은 다음과 같은 컴파일 결과 구성 옵션을 제공합니다.

작업공간 컴파일 재정의
저장소의 모든 작업공간에 적용되는 컴파일 재정의를 구성할 수 있습니다. 작업공간 컴파일 재정의를 사용하여 격리된 개발 환경을 만들 수 있습니다.
출시 구성
출시 구성을 만들어 Dataform 저장소의 컴파일 결과를 만들기 위한 템플릿을 구성할 수 있습니다. 그런 다음 워크플로 구성을 만들어 선택한 출시 구성에서 생성된 컴파일 결과의 실행을 예약할 수 있습니다.
Dataform API 컴파일 재정의
터미널에서 Dataform API 요청을 전달하여 컴파일 재정의를 사용하여 단일 컴파일 결과를 생성하고 실행할 수 있습니다.

작업공간 컴파일 재정의 구성

작업공간 컴파일 재정의를 사용하면 Dataform 저장소의 모든 작업공간에 대한 컴파일 재정의를 만들 수 있습니다. 저장소당 하나의 작업공간 컴파일 재정의 구성을 만들 수 있습니다.

작업공간 컴파일 재정의가 있는 저장소에서 작업공간에서 실행을 수동으로 트리거하면 Dataform은 이러한 재정의를 작업공간의 컴파일 결과에 적용합니다.

다음과 같은 작업공간 컴파일 재정의를 구성할 수 있습니다.

  • Google Cloud Dataform이 작업공간의 콘텐츠를 실행하는 프로젝트
  • 테이블 프리픽스
  • 스키마 서픽스

작업공간 컴파일 재정의를 사용하여 BigQuery에서 작업공간 컴파일 결과를 동적 컴파일 재정의로 격리하면 격리된 개발 환경을 만들 수 있습니다. 동적 테이블 접두사 및 스키마 접미사 컴파일 재정의에는 ${workspaceName} 변수가 포함되어 있습니다. 작업공간에서 실행을 트리거하면 Dataform은 ${workspaceName} 변수를 현재 작업공간의 이름으로 바꾸어 작업공간의 고유한 컴파일 재정의를 생성합니다.

참고로, 작업공간 컴파일 재정의로 생성된 컴파일 결과의 실행은 예약할 수 없습니다.

출시 구성 만들기

출시 구성을 사용하면 저장소의 컴파일 결과를 만들기 위한 설정 템플릿을 구성할 수 있습니다.

출시 구성에서는 워크플로 설정, 컴파일 변수, 전체 저장소의 컴파일 결과 생성의 빈도에 대한 컴파일 재정의를 구성할 수 있습니다.

출시 구성에서는 다음 컴파일 재정의를 구성할 수 있습니다.

  • Google Cloud 프로젝트
  • 테이블 프리픽스
  • 스키마 서픽스
  • 컴파일 변수의 값

Dataform 저장소에서 개발 수명 주기의 각 단계마다 하나씩 여러 개의 출시 구성을 만들어 격리된 저장소 컴파일 결과를 만들 수 있습니다.

그런 다음 워크플로 구성을 만들어 선택한 출시 구성에서 생성된 컴파일 결과의 실행을 예약할 수 있습니다.

선택한 출시 구성에서 컴파일 결과의 실행을 수동으로 트리거할 수도 있습니다.

Dataform API 컴파일 재정의로 단일 컴파일 결과 구성

터미널에서 Dataform API 요청을 전달하면 단일 컴파일 결과의 컴파일 재정의를 구성할 수 있습니다.

compilationResults.create 요청에서 Dataform 작업공간 또는 지정된 Git comittish의 단일 컴파일 결과를 만들 수 있습니다.

compilationResults.create 요청의 CodeCompilationConfig 객체에서 컴파일 요청의 컴파일 재정의를 구성할 수 있습니다.

다음 Dataform API 컴파일 재정의를 구성할 수 있습니다.

  • Google Cloud 프로젝트
  • 테이블 프리픽스
  • 스키마 서픽스
  • 컴파일 변수의 값

Dataform API 컴파일 재정의는 단일 컴파일 결과와 단일 실행에 적용됩니다. 그러나 Dataform 실행을 예약하는 데는 사용할 수 없습니다.

workflowInvocations.create 요청에서 컴파일 결과를 실행할 수 있습니다.

Dataform 실행을 구성하는 방법

Dataform은 실행을 구성하기 위한 다음과 같은 옵션을 제공합니다.

작업공간에서 수동 실행
일정에 관계없이 Dataform 작업공간에서 워크플로 즉시 실행을 수동으로 트리거할 수 있습니다. 워크플로에서 선택한 작업을 실행할 수 있습니다.
워크플로 구성
선택한 출시 구성에서 생성된 컴파일 결과의 실행을 예약할 수 있습니다. 실행할 워크플로 작업을 선택하여 실행 빈도 및 시간대를 설정하세요.

작업공간에서 즉시 실행 트리거

Dataform 작업공간에서는 일정과 관계없이 작업공간에서 워크플로의 즉시 실행을 수동으로 트리거할 수 있습니다.

워크스페이스에서 워크플로의 다음 요소를 수동으로 실행할 수 있습니다.

저장소에 작업공간 컴파일 재정의가 포함된 경우 Dataform이 작업공간 컴파일 결과에 적용할 컴파일 재정의를 확인할 수 있습니다.

워크플로 구성 만들기

워크플로 구성을 사용하면 선택한 출시 구성의 컴파일 결과 실행을 예약할 수 있습니다. Dataform 저장소에서 여러 워크플로 구성을 만들 수 있습니다.

워크플로 구성에서 다음과 같은 실행 설정을 구성할 수 있습니다.

  • 적용된 컴파일 출시 구성
  • 실행할 워크플로 작업 선택
  • 실행 일정 및 시간대

다음 중 실행할 워크플로 작업을 선택할 수 있습니다.

  • 모든 작업
  • 선택한 작업
  • 선택한 태그가 있는 작업

그런 다음 워크플로 구성의 예약된 실행 중에 Dataform이 적용된 컴파일 결과에서 선택한 작업을 BigQuery에 배포합니다.

Dataform 출시 구성 및 워크플로 구성을 사용하면 추가 서비스에 의존하지 않고도 Dataform에서 컴파일을 구성하고 실행을 예약할 수 있습니다.

수명 주기 리소스 만료

Dataform은 특정 기간 동안 컴파일 결과와 워크플로 호출을 저장합니다.

워크플로 호출 만료

워크플로 호출은 90일이 경과하거나 수동으로 삭제하면 만료됩니다.

워크플로 구성에서 구성에 의해 생성된 최근 워크플로 호출 목록을 볼 수 있습니다. 워크플로 구성으로 생성된 워크플로 호출이 만료되면 Dataform은 최근 호출 목록에서 해당 워크플로 호출을 삭제합니다.

컴파일 결과 만료

컴파일 결과 만료는 개발 작업공간, 출시 구성, 워크플로 호출 중 어디에서 생성되었는지에 따라 다릅니다.

Dataform 작업공간에서 워크플로를 개발하면 Dataform이 실시간으로 코드를 컴파일 결과로 컴파일하여 쿼리 유효성 검사를 제공합니다. 이렇게 생성된 컴파일 결과는 24시간 후에 만료됩니다.

출시 구성에서 최신 컴파일 결과는 실시간 컴파일 결과가 됩니다. 새 컴파일 결과가 현재 실시간 컴파일 결과를 대체합니다. Dataform은 새 컴파일 결과로 대체될 때까지 라이브 컴파일 결과를 유지합니다. 교체된 컴파일 결과는 최대 24시간 후에 만료됩니다.

Dataform은 출시 구성의 세부정보 페이지에 있는 이전 컴파일 결과 목록에서 만료된 컴파일 결과를 삭제합니다.

Dataform은 워크플로 호출이 만료되거나 삭제된 후 최대 24시간 동안 워크플로 호출 전체 기간 동안 워크플로 호출로 생성된 컴파일 결과를 보관합니다.

작업공간 컴파일 재정의 만들기

다음 섹션에서는 BigQuery의 Dataform 작업공간에서 만들어진 테이블과 뷰를 격리하기 위해 작업공간 컴파일 재정의를 만드는 방법을 보여줍니다. 작업공간 컴파일 재정의 기능을 사용하여 격리된 Dataform 개발 환경을 만들 수 있습니다.

Dataform 작업공간에서 워크플로 코드를 개발하면 Dataform은 작업공간의 코드를 실시간으로 컴파일하여 작업공간의 컴파일 결과를 만듭니다. Dataform은 워크플로 설정 파일에 정의된 설정을 사용하여 작업공간 컴파일 결과를 만듭니다. 그런 다음 작업공간에서 실행을 트리거하면 Dataform이 작업공간 컴파일 결과를 BigQuery에서 실행합니다.

저장소의 모든 작업공간에 대해 워크플로 설정에서 설정된 기본 설정을 재정의하려면 작업공간 컴파일 재정의를 만들면 됩니다.

작업공간 컴파일 재정의를 사용하면 저장소의 모든 작업공간에 대해 다음 설정을 재정의할 수 있습니다.

프로젝트
Dataform이 작업공간 컴파일 결과를 실행하는 프로젝트입니다. workflow_settings.yamldefaultProject로 설정되거나 dataform.jsondefaultDatabase로 설정되어 있습니다. Google Cloud
테이블 프리픽스
저장소의 모든 작업공간의 모든 테이블 이름에 추가된 커스텀 접두사입니다.
스키마 서픽스
테이블 스키마에 추가된 커스텀 서픽스입니다. workflow_settings.yamldefaultDataset, dataform.jsondefaultSchema로 설정되거나, 테이블 config 블록의 schema 매개변수에 정의되어 있습니다.

격리된 개발 환경을 만들려면 고유한 컴파일 재정의를 사용하여 작업공간을 격리하면 됩니다. ${workspaceName} 변수를 사용하여 테이블 접두사 및 스키마 접미사 컴파일 재정의를 동적으로 수정할 수 있습니다.

작업공간에서 실행을 수동으로 트리거하면 ${workspaceName} 변수가 작업공간 이름을 작업공간 컴파일 재정의에 삽입합니다.

${workspaceName}을 테이블 접두사로 설정하면 Dataform이 작업공간의 모든 테이블 이름에 작업공간의 이름을 추가합니다. 실행 후 BigQuery에서 테이블이 어느 작업공간에서 비롯되었는지 확인할 수 있습니다.

${workspaceName}을 스키마 서픽스로 설정하면 Dataform이 작업공간의 이름을 defaultSchema에 추가하여 작업공간 전용 커스텀 스키마를 만듭니다. 실행 후 BigQuery에서 전용 스키마의 특정 작업공간에서 실행된 모든 테이블을 찾을 수 있습니다.

동적 작업공간 컴파일 재정의의 예

다음 예시에서는 저장소에서 작업하는 개발자의 이름을 따서 명명된 작업공간(SashaKai)을 포함하는 저장소에 적용된 동적 작업공간 컴파일 재정의를 보여줍니다.

이 예시에서 작업공간 컴파일 재정의의 목표는 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)

작업공간 컴파일 재정의 만들기

Dataform 작업공간 컴파일 재정의를 만들려면 다음 단계를 따르세요.

  1. 저장소에서 설정으로 이동합니다.
  2. 수정을 클릭합니다.
  3. 워크스페이스 컴파일 재정의 창의 Google Cloud 프로젝트 ID 필드에 프로젝트의 ID를 입력합니다.
  4. 테이블 접두사 필드에 모든 테이블 이름의 접두사를 입력합니다.
    1. (선택사항) 각 작업공간에 고유한 동적 테이블 프리픽스를 만들려면 테이블 프리픽스로 ${workspaceName}을 입력합니다.
  5. 스키마 서픽스 필드에 생성된 테이블 또는 뷰의 스키마에 추가할 서픽스를 입력합니다.
    1. 선택사항: 각 작업공간에 고유한 동적 스키마 서픽스를 만들려면 테이블 서픽스로 ${workspaceName}을 입력합니다.
  6. 저장을 클릭합니다.

Dataform이 저장소의 모든 작업공간에 작업공간 컴파일 재정의를 적용합니다.

작업공간 컴파일 재정의 수정

Dataform 작업공간 컴파일 재정의를 수정하려면 다음 단계를 따르세요.

  1. 저장소에서 설정으로 이동합니다.
  2. 수정을 클릭합니다.
  3. 워크스페이스 컴파일 재정의를 수정한 후 저장을 클릭합니다.

작업공간 컴파일 재정의 삭제

Dataform 작업공간 컴파일 재정의를 삭제하려면 다음 단계를 따르세요.

  1. 저장소에서 설정으로 이동합니다.
  2. 수정을 클릭합니다.
  3. 작업공간 컴파일 재정의 창에서 모두 지우기를 클릭한 다음 저장을 클릭합니다.

Dataform API로 컴파일 재정의 구성

이 섹션에서는 Dataform API를 사용하여 컴파일 재정의로 컴파일 결과를 만들고 실행하는 방법을 보여줍니다.

Dataform API 컴파일 재정의 정보

워크플로를 실행하기 위해 Dataform은 코드를 SQL로 컴파일하여 컴파일 결과를 만듭니다. 그런 다음 워크플로 호출 중에 Dataform은 BigQuery에서 컴파일 결과를 실행합니다.

기본적으로 Dataform은 워크플로 설정 파일의 설정을 사용하여 컴파일 결과를 생성합니다. 개발 수명 주기의 여러 단계에서 실행되는 데이터를 격리하려면 컴파일 재정의를 사용하여 기본 설정을 재정의하면 됩니다.

터미널에서 Dataform API 요청을 전달하면 컴파일 재정의를 사용하여 단일 컴파일 결과를 생성하고 실행할 수 있습니다. 작업공간 또는 선택한 Git committish의 컴파일 결과를 만들 수 있습니다.

컴파일 재정의로 컴파일 결과를 만들려면 Dataform API compilationResults.create 요청을 보내야 합니다. 요청에서 Dataform이 컴파일 결과로 컴파일되려면 작업공간 또는 Git commitish여야 하는 소스를 지정해야 합니다. compilationResults.create 요청의 CodeCompilationConfig 객체에서 컴파일 재정의를 구성할 수 있습니다.

그런 다음 Dataform API workflowInvocations.create 요청에서 생성된 컴파일 결과를 실행하면 됩니다.

Dataform API를 사용하여 다음 컴파일 재정의를 구성할 수 있습니다.

Google Cloud project
Dataform이 컴파일 결과를 실행하는 프로젝트입니다. workflow_settings.yaml 파일에서 defaultProject 속성으로 설정되거나 dataform.json 파일에서 defaultDatabase 속성으로 설정되어 있습니다.
테이블 프리픽스
컴파일 결과의 모든 테이블 이름에 추가된 커스텀 접두사입니다.
스키마 서픽스
workflow_settings.yaml 파일의 defaultDataset 속성, dataform.json 파일의 defaultSchema 속성 또는 테이블의 config 블록에 있는 schema 매개변수에 정의된 테이블의 스키마에 추가되는 커스텀 서픽스입니다.
컴파일 변수의 값
컴파일 결과에 사용되는 컴파일 변수의 값입니다. 컴파일 변수를 사용하여 조건부로 테이블을 실행할 수 있습니다.

하나의 컴파일 결과에만 사용할 수 있는 Dataform API 컴파일 재정의에 대한 대안으로 콘솔에서 작업공간 컴파일 재정의를 구성할 수 있습니다. Google Cloud

Dataform에서 컴파일 재정의를 구성하는 다른 방법에 대해 알아보려면 코드 수명 주기 소개를 참고하세요.

컴파일 결과 소스 설정

Dataform API compilationResults.create 요청을 전송하려면 컴파일 결과의 소스를 지정해야 합니다.

compilationResults.create 요청에서 Dataform 작업공간 또는 Git 브랜치, Git 태그 또는 Git 커밋 SHA를 소스로 설정할 수 있습니다.

작업공간을 컴파일 결과 소스로 설정

  • compilationResults.create 요청에서 workspace 속성을 다음 형식의 선택된 Dataform 작업공간 경로로 채웁니다.

    {
    "workspace": "projects/PROJECT_NAME/locations/LOCATION/repositories/REPOSITORY_NAME/workspaces/WORKSPACE_NAME"
    }
    

    다음을 바꿉니다.

    • PROJECT_NAME: Google Cloud 프로젝트 이름입니다.
    • LOCATION: 워크플로 설정에 설정된 Dataform 저장소의 위치입니다.
    • REPOSITORY_NAME: Dataform 저장소의 이름입니다.
    • WORKSPACE_NAME: Dataform 워크스페이스의 이름입니다.

다음 코드 샘플은 "sales-test"라는 작업공간에 설정된 compilationResults.create 요청의 workspace 속성을 보여줍니다.

{
"workspace": "projects/analytics/locations/europe-west4/repositories/sales/workspaces/sales-test"
}

Git commitish를 컴파일 결과 소스로 설정

  • compilationResults.create 요청에서 gitCommitish 속성을 다음 형식의 선택된 Git 브랜치, 태그 또는 커밋 SHA로 채웁니다.

    {
      "gitCommitish": "GIT_COMMITISH"
    }
    

    GIT_COMMITISH를 컴파일 결과의 선택된 Git 브랜치, Git 태그 또는 Git 커밋 SHA로 바꿉니다.

다음 코드 샘플은 "staging"으로 설정된 compilationResults.create 요청의 gitCommitish 속성을 보여줍니다.

{
  "gitCommitish": "staging"
}

기본 프로젝트 재정의

개발에 사용되는 프로젝트와 별개로 Google Cloud 프로젝트에서 스테이징 또는 프로덕션 테이블을 만들려면 Dataform API compilationResults.create 요청의 CodeCompilationConfig 객체에 다른 프로젝트 ID를 전달할 수 있습니다.

compilationResults.create 요청에 별도의 기본 프로젝트 ID를 전달하면 워크플로 설정 파일에 구성된 기본 프로젝트 ID가 재정의되지만 개별 테이블에 구성된 프로젝트 ID는 재정의되지 않습니다.

  • 기본 프로젝트 ID를 재정의하려면 defaultDatabase 속성을 CodeCompilationConfig 객체에서 다음 형식의 선택된 프로젝트 ID로 설정합니다.

    {
      "codeCompilationConfig": {
        "defaultDatabase": "PROJECT_NAME"
      }
    }
    

    PROJECT_NAME을 컴파일 결과에 설정하려는 프로젝트 ID로 바꿉니다.

테이블 프리픽스 추가

컴파일 결과에서 테이블을 빠르게 식별하려면 Dataform API compilationResults.create 요청의 CodeCompilationConfig 객체에 테이블 프리픽스를 전달하여 컴파일 결과의 모든 테이블 이름에 프리픽스를 추가합니다.

  • 테이블 프리픽스를 추가하려면 CodeCompilationConfig 객체에서 tablePrefix 속성을 다음 형식으로 설정합니다.

    {
      "codeCompilationConfig": {
        "tablePrefix": "PREFIX",
      }
    }
    

    PREFIX를 추가할 접두사(예: staging)로 바꿉니다.

    예를 들어 테이블 이름이 table_name이면 Dataform은 staging_table_name 이름으로 테이블을 만듭니다.

스키마 접미사 추가

개발, 스테이징, 프로덕션 데이터를 분리하려면 Dataform API compilationResults.create 요청의 CodeCompilationConfig 객체에 스키마 서픽스를 전달하여 컴파일 결과의 스키마에 서픽스를 추가합니다.

  • 스키마 서픽스를 추가하려면 CodeCompilationConfig 객체의 schemaSuffix 속성을 다음 형식으로 설정합니다.

    {
      "codeCompilationConfig": {
        "schemaSuffix": "SUFFIX",
      }
    }
    

    SUFFIX를 추가할 서픽스(예: _staging)로 바꿉니다.

    예를 들어 workflow_settings.yaml 파일의 defaultDataset 속성이 dataform로 설정된 경우 Dataform은 dataform_staging 스키마에 테이블을 만듭니다.

컴파일 변수를 사용하여 선택한 파일을 조건부로 실행

특정 실행 설정에서만 선택된 테이블을 실행하려면 실행 설정의 컴파일 변수를 만든 다음 Dataform API compilationResults.create 요청의 CodeCompilationConfig 객체에 이 값을 전달합니다.

Dataform API를 사용하여 특정 실행 설정에서 테이블을 조건부로 실행하려면 다음 단계를 따르세요.

  1. 컴파일 변수를 만들어 선택한 테이블에 추가합니다.
  2. Dataform API 컴파일 요청의 codeCompilationConfig 블록에 다음 형식의 YOUR_VARIABLEVALUE 키-값 쌍을 설정합니다.

    {
      "codeCompilationConfig": {
        "vars": {
          "YOUR_VARIABLE": "VALUE"
        }
      }
    }
    
  3. YOUR_VARIABLE을 변수 이름(예: executionSetting)으로 바꿉니다.

  4. VALUE선택한 테이블에 설정된 when 조건을 충족하는 이 컴파일 결과의 변수 값으로 바꿉니다.

다음 코드 샘플은 Dataform API 컴파일 요청에 전달된 executionSetting 변수를 보여줍니다.

{
  "gitCommitish": "staging",
  "codeCompilationConfig": {
    "vars": {
      "executionSetting": "staging"
    }
  }
}

컴파일 재정의를 사용하여 컴파일 결과 실행

다음 코드 샘플은 workflowInvocations.create 요청에서 전달된 컴파일 결과 ID를 보여줍니다.

{
  "compilationResult": "projects/my-project-name/locations/europe-west4/repositories/my-repository-name/compilationResults/7646b4ed-ac8e-447f-93cf-63c43249ff11"
}

출시 구성 만들기

다음 섹션에서는 Dataform에서 출시 구성을 만들어 일정에 따라 실행할 수 있는 컴파일 설정 템플릿을 구성하는 방법을 보여줍니다. 출시 구성을 사용하여 실행 환경(예: 스테이징, 프로덕션)을 구성할 수 있습니다

BigQuery에서 워크플로를 실행하기 위해 Dataform은 SQL 워크플로 코드를 컴파일 결과로 컴파일합니다. 이 프로세스는 Dataform 작업공간에서 워크플로를 개발할 때 자동으로 수행됩니다.

출시 구성을 사용하면 컴파일 결과를 맞춤설정할 수 있습니다. 출시 구성을 사용하여 실행 환경(예: 스테이징)을 만들 수 있습니다.

출시 구성 설정

출시 구성에서는 워크를로 설정 설정의 컴파일 재정의를 구성하고, 컴파일 변수를 설정하며, 컴파일 결과 생성의 빈도를 설정할 수 있습니다.

Dataform 출시 구성에는 다음 컴파일 설정이 포함됩니다.

출시 설정
출시 ID, 컴파일 결과를 위한 Git commitish, 컴파일 결과를 만드는 빈도입니다. 빈도는 선택사항인 설정입니다. 설정하는 경우 최소 빈도는 1시간입니다.
컴파일 재정의
워크플로 설정에 정의된Google Cloud 프로젝트, 테이블 접두사, 스키마 접미사, 컴파일 변수재정의입니다.

출시 구성 작동 방식

Dataform은 지정된 빈도로 또는 사용자가 컴파일을 트리거할 때 출시 구성에서 컴파일 결과를 만듭니다. 빈도는 선택사항인 설정이며 출시 구성을 만들 필요가 없습니다. 설정하는 경우 최소 빈도는 1시간입니다. 출시 구성 세부정보 페이지에서 컴파일을 수동으로 트리거하거나, Dataform API releaseConfigs 메서드로 컴파일을 트리거할 수 있습니다.

컴파일 중 Dataform은 저장소의 지정된 Git commitish에서 코드를 가져옵니다. 그런 다음 Dataform은 적용된 컴파일 재정의 (있는 경우)로 코드를 컴파일하고 컴파일 결과를 생성합니다. 출시 구성에 대해 생성된 최신 컴파일 결과는 실시간 컴파일 결과입니다.

워크플로 구성에서 출시 구성의 컴파일 결과 실행을 예약할 수 있습니다. 일정과 관계없이 선택한 출시 구성을 실행할 수도 있습니다. 워크플로 구성 실행 중 Dataform은 선택한 출시 구성에서 실시간 컴파일 결과를 실행합니다.

출시 구성 만들기

Dataform 출시 구성을 만들려면 다음 단계를 따르세요.

  1. 저장소에서 출시 및 일정으로 이동합니다.
  2. 출시 구성 섹션에서 만들기를 클릭합니다.
  3. 출시 구성 만들기 창에서 출시 설정을 구성합니다.

    1. 출시 ID 필드에 출시 구성의 고유 ID를 입력합니다.

      ID에는 숫자, 문자, 하이픈, 밑줄만 포함할 수 있습니다.

    2. Git commitish 필드에 출시에 대한 Git 브랜치 또는 Git 커밋 SHA를 입력합니다.

      원격 저장소에 연결되지 않은 Dataform 저장소에서 값은 항상 main입니다.

    3. 선택사항: 빈도 목록에서 컴파일 결과 생성 빈도를 선택합니다.

      설정하는 경우 최소 빈도는 1시간입니다.

  4. 선택사항: 컴파일 재정의 섹션에서 컴파일 설정을 구성합니다.

    1. Google Cloud 프로젝트 ID 필드에 컴파일 결과를 저장할Google Cloud 프로젝트의 ID를 입력합니다.
    2. 스키마 서픽스 필드에서 워크플로 설정에 구성된 스키마에 추가할 서픽스를 입력합니다.
    3. 테이블 접두사 필드에 모든 테이블 이름의 접두사를 입력합니다.
  5. 선택사항: 컴파일 변수 섹션에서 컴파일 변수를 설정합니다.

    1. 변수 추가를 클릭합니다.
    2. 필드에 컴파일 변수를 입력합니다.
    3. 필드에 컴파일 변수의 값을 입력합니다.
    4. 다른 컴파일 변수를 추가하려면 변수 추가를 클릭합니다.
  6. 만들기를 클릭합니다.

기본 프로젝트를 재정의하는 경우 출시 구성에 설정된 프로젝트에 대해 Dataform 서비스 계정에 액세스 권한이 있는지 확인합니다.

예를 들어 다음 출시 구성에서는 컴파일 재정의 없이 main 브랜치에서 매시간 production 컴파일 결과를 만듭니다.

  • 출시 ID: production
  • Git commitish: main
  • 빈도: 시간당
  • 컴파일 재정의 없음

출시 구성 세부정보 보기

출시 구성의 다음 세부정보를 볼 수 있습니다.

  • 출시 설정
    • Git commitish
    • 최신 컴파일 결과 타임스탬프
    • 크론 일정
    • 컴파일 재정의
    • 컴파일 변수
  • 실시간 컴파일 결과
    • 생성 타임스탬프
    • Git commitish
    • 커밋 SHA
  • 이전 컴파일 결과

출시 구성 세부정보를 보려면 다음 단계를 따르세요.

  1. 저장소에서 출시 및 일정으로 이동합니다.
  2. 출시 구성을 선택합니다.
  3. 출시 구성 세부정보 페이지에서 출시 구성의 세부정보를 검사합니다.

예약된 컴파일 결과 테이블에는 출시 구성에 의해 자동으로 생성된 이전 컴파일 결과가 표시됩니다.

수동/API 컴파일 결과 테이블에는 저장소의 최근 1,000개의 컴파일 결과 중에서 수동으로 생성되거나 Dataform API 호출을 통해 생성된 컴파일 결과가 표시됩니다.

수동으로 컴파일 트리거

선택한 출시 구성을 통해 컴파일 결과를 수동으로 만들려면 다음 단계를 따르세요.

  1. 저장소에서 출시 및 일정으로 이동합니다.
  2. 출시 구성을 선택합니다.
  3. 출시 구성 세부정보 페이지에서 새 컴파일을 클릭합니다.

새로 생성된 컴파일 결과는 해당 출시 구성의 실시간 결과가 됩니다.

수동 컴파일 결과는 출시 구성 세부정보 페이지의 수동/API 컴파일 결과 테이블에 표시됩니다.

출시 구성 실행 트리거

선택한 출시 구성의 라이브 컴파일 결과 실행을 BigQuery에 트리거하려면 다음 단계를 따르세요.

  1. 저장소에서 출시 및 일정으로 이동합니다.
  2. 출시 구성 섹션에서 실행 시작을 클릭합니다.
  3. 수동 워크플로 실행 창의 출시 구성 목록에서 출시 구성을 선택합니다.
  4. 실행할 워크플로 작업을 선택합니다.
    1. 전체 워크플로를 실행하려면 모든 작업을 클릭합니다.
    2. 워크플로에서 선택한 작업을 실행하려면 작업 선택을 클릭한 다음 작업을 선택합니다.
    3. 선택한 태그로 작업을 실행하려면 태그 선택을 클릭한 다음 태그를 선택합니다.
  5. 선택사항: 선택한 작업 또는 태그 및 종속 항목을 실행하려면 종속 항목 포함 옵션을 선택합니다.
  6. 선택사항: 선택한 작업 또는 태그 및 종속자를 실행하려면 종속자 포함 옵션을 선택합니다.
  7. 선택사항: 모든 테이블을 처음부터 다시 빌드하려면 전체 새로고침으로 실행 옵션을 선택합니다.

    이 옵션이 없으면 Dataform은 증분 테이블을 처음부터 다시 빌드하지 않고 업데이트합니다.

  8. 실행 시작을 클릭합니다.

출시 구성 수정

출시 구성을 수정하려면 다음 단계를 따르세요.

  1. 저장소에서 출시 및 일정으로 이동합니다.
  2. 수정하려는 출시 구성 옆에 있는 더보기 메뉴를 클릭한 다음 수정을 클릭합니다.
  3. 출시 구성 수정 창에서 출시 구성 설정을 수정한 다음 저장을 클릭합니다.

출시 구성 삭제

출시 구성을 삭제하려면 다음 단계를 따르세요.

  1. 저장소에서 출시 및 일정으로 이동합니다.
  2. 삭제하려는 출시 구성 옆에 있는 더보기 메뉴를 클릭한 다음 삭제를 클릭합니다.
  3. 출시 구성 삭제 대화상자에서 삭제를 클릭합니다.

다음 단계