Dataform의 코드 수명 주기 소개

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

Dataform의 코드 수명 주기 정보

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

개발
Dataform 작업공간에서 SQL 워크플로를 개발합니다.
Compilation

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

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

실행

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

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

Dataform 컴파일 구성 방법

기본적으로 Dataform은 workflow_settings.yaml 파일의 설정을 사용하여 컴파일 결과를 만듭니다. 컴파일 재정의로 기본 설정을 재정의하여 커스텀 컴파일 결과를 만들 수 있습니다. 그런 후 커스텀 컴파일 결과의 실행을 수동으로 트리거하거나 실행을 예약할 수 있습니다.

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

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

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

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

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

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

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

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

작업공간 컴파일 재정의로 만든 컴파일 결과의 실행을 예약할 수 없습니다.

출시 구성 만들기

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

출시 구성에서는 workflow_settings.yaml 설정의 컴파일 재정의, 컴파일 변수, 전체 저장소의 컴파일 결과를 만드는 빈도를 구성할 수 있습니다.

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

  • 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 작업공간에서 SQL 워크플로 즉시 실행을 수동으로 트리거할 수 있습니다. SQL 워크플로에서 선택한 작업을 실행할 수 있습니다.
워크플로 구성
선택한 출시 구성에서 생성된 컴파일 결과의 실행을 예약할 수 있습니다. 실행할 SQL 워크플로 작업을 선택하고 실행 빈도와 시간대를 설정할 수 있습니다.

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

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

작업공간에서 SQL 워크플로의 다음 요소를 수동으로 실행할 수 있습니다.

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

워크플로 구성 만들기

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

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

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

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

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

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

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

수명 주기 리소스 만료

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

워크플로 호출 만료

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

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

컴파일 결과 만료

컴파일 결과 만료는 개발 작업공간, 출시 구성, 워크플로 호출 등 생성 방법에 따라 달라집니다.

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

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

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

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

다음 단계