Dataform 권장사항 개요

이 문서에서는 Dataform에서 저장소 크기, 저장소 구조, 코드 수명 주기를 관리하기 위한 권장사항을 간략하게 설명합니다.

저장소 크기 권장사항

저장소 크기는 다음과 같이 Dataform 개발의 여러 측면에 영향을 줍니다.

  • 공동작업
  • 코드베이스 가독성
  • 개발 프로세스
  • 워크플로 컴파일
  • 워크플로 실행

Dataform은 컴파일 리소스에 대한 API 할당량 및 한도를 적용합니다. 저장소 크기가 크면 저장소가 이러한 할당량 및 한도를 초과할 수 있습니다. 이로 인해 SQL 워크플로의 컴파일 및 실행이 실패할 수 있습니다.

이러한 위험을 완화하려면 큰 리포지토리를 분할하는 것이 좋습니다. 큰 저장소를 분할할 때는 큰 SQL 워크플로를 다른 저장소에 보관되고 저장소 간 종속 항목으로 연결된 여러 개의 작은 SQL 워크플로로 나눕니다.

이 접근 방식을 사용하면 Dataform 할당량 및 한도, 세분화된 프로세스 및 권한을 준수하고, 코드베이스 가독성 및 공동작업을 개선할 수 있습니다. 하지만 단일 저장소 관리보다 분할 저장소 관리가 더 어려울 수 있습니다.

Dataform의 저장소 크기가 미치는 영향과 저장소 분할 권장사항에 대한 자세한 내용은 저장소 분할을 참조하세요.

저장소 구조 권장사항

워크플로 단계를 반영하도록 definitions 디렉터리에 파일을 구조화하는 것이 좋습니다. 요구사항에 가장 적합한 커스텀 구조를 채택할 수 있습니다.

다음 definitions 하위 디렉터리의 권장 구조는 대부분의 SQL 워크플로에 대한 주요 단계를 반영합니다.

  • sources, 데이터 소스 선언 저장
  • intermediate, 데이터 변환 로직 저장
  • output - 출력 테이블의 정의 저장
  • 선택사항: extras, 추가 파일 저장

Dataform의 모든 파일 이름은 BigQuery 테이블 이름 지정 가이드라인을 준수해야 합니다. Dataform 저장소의 definitions 디렉터리에 있는 파일 이름은 하위 디렉터리 구조를 반영하는 것이 좋습니다.

저장소에서의 파일 구조화 및 이름 지정 권장사항에 대한 자세한 내용은 저장소에서 코드 구조화를 참조하세요.

코드 수명 주기 권장사항

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

  • Dataform 작업공간에서 SQL 워크플로 코드 개발

    Dataform 코어를 사용하여 개발하거나 자바스크립트만 사용하여 개발할 수 있습니다.

  • dataform.json의 설정을 사용하여 코드를 컴파일 결과로 컴파일합니다.

    출시 구성 및 작업공간 컴파일 재정의를 통해 커스텀 컴파일 결과를 구성할 수 있습니다.

    출시 구성을 사용하여 전체 저장소의 커스텀 컴파일 결과를 구성할 수 있습니다. 나중에 워크플로 구성에서 실행을 예약할 수 있습니다.

    작업공간 컴파일 재정의를 사용하면 저장소의 모든 작업공간에 대해 컴파일 재정의를 구성하여 각 작업공간의 커스텀 컴파일 결과를 만들 수 있습니다.

  • BigQuery에서 컴파일 실행 결과

    워크플로 구성으로 실행 또는 저장소 컴파일 결과를 예약할 수 있습니다.

Dataform에서 코드 수명 주기를 관리하려면 개발, 스테이징, 프로덕션과 같은 실행 환경을 만들면 됩니다.

Dataform의 코드 수명 주기에 대한 자세한 내용은 Dataform의 코드 수명 주기 소개를 참조하세요.

실행 환경을 단일 저장소 또는 여러 저장소에 유지하도록 선택할 수 있습니다.

단일 저장소의 실행 환경

작업공간 컴파일 재정의출시 구성을 사용하여 단일 Dataform 저장소에서 개발, 스테이징, 프로덕션과 같은 격리된 실행 환경을 만들 수 있습니다.

다음과 같은 방법으로 격리된 실행 환경을 만들 수 있습니다.

  • 스키마별로 개발 및 프로덕션 테이블 분할
  • 스키마 및 Google Cloud 프로젝트 테이블별로 개발 및 프로덕션 분할
  • Google Cloud 프로젝트별로 개발, 스테이징, 프로덕션 테이블 분할

그런 다음 워크플로 구성으로 스테이징 및 프로덕션 환경에서 실행을 예약할 수 있습니다. 개발 환경에서는 실행을 수동으로 트리거하는 것이 좋습니다.

Dataform에서 코드 수명 주기를 관리하는 권장사항에 대한 자세한 내용은 코드 수명 주기 관리를 참조하세요.

여러 저장소의 코드 수명 주기

코드 수명 주기의 각 단계에 맞춰 Identity and Access Management를 조정하려면 저장소의 여러 사본을 만들어 서로 다른 Google Cloud 프로젝트에 저장하면 됩니다.

각 Google Cloud 프로젝트는 개발 및 프로덕션과 같은 코드 수명 주기 단계에 해당하는 실행 환경으로 작동합니다.

이 접근 방식에서는 저장소의 코드베이스를 모든 Google Cloud 프로젝트에서 동일하게 유지하는 것이 좋습니다. 저장소의 각 사본에서 컴파일 및 실행을 맞춤설정하려면 작업공간 컴파일 재정의, 출시 구성, 워크플로 구성을 사용합니다.

다음 단계