기존 Dataform에서 마이그레이션

기존 Dataform은 2024년 2월 26일부터 지원 중단되며, 이후에는 기존 프로젝트에 액세스할 수 없습니다. 이 문서에서는 기존 Dataform과 Google Cloud의 Dataform 간의 차이점을 설명하고 기존 Dataform 프로젝트를 Google Cloud의 Dataform으로 가져오는 방법을 설명합니다.

Google Cloud의 기존 Dataform과 Dataform 간의 차이점 정보

Dataform은 데이터 분석가가 테이블, 증분 테이블 또는 뷰를 개발하고 BigQuery에 배포할 수 있는 서버리스 서비스입니다. Dataform은 SQL 워크플로 개발, GitHub, GitLab, Bitbucket, Azure DevOps 서비스와의 연결, 지속적 통합, 지속적 배포, 워크플로 실행을 위한 웹 환경을 제공합니다.

Google Cloud의 Dataform은 다음과 같은 점에서 기존 Dataform과 다릅니다.

  • Google Cloud의 Dataform은 Dataform 저장소를 Bitbucket 저장소에 연결할 수 있습니다.
  • 액세스 제어는 IAM을 기반으로 합니다.
  • workflow_settings.yaml의 쿼리 동시 실행 제한(concurrentQueryLimit) 구성이 삭제되었습니다.

    기존 Dataform에서는 동시 실행 한도가 Dataform이 BigQuery에 너무 많은 동시 실행 쿼리를 보내지 못하게 했습니다. Google Cloud의 Dataform에서 동시 실행을 관리하려면 BigQuery 쿼리 큐를 사용 설정하는 것이 좋습니다.

  • 기존 환경은 출시 구성으로 대체되었습니다.

  • 기존 일정은 워크플로 구성으로 대체됩니다.

  • 워크플로 실패 알림은 Cloud Logging에서 구성됩니다.

  • Google Cloud의 Dataform과 기존 Dataform에는 서로 다른 NPM 버전과 package-lock.json 형식이 사용됩니다.

    기존 Dataform과 Google Cloud의 Dataform 모두에서 SQL 워크플로를 개발하려면 패키지 설치에 기존 package-lock.json 형식을 사용하세요. Google Cloud의 Dataform으로 완전히 마이그레이션할 때까지 Google Cloud의 Dataform에 패키지를 설치하지 마세요.

Google Cloud의 Dataform 기능에 대한 자세한 내용은 Dataform 기능 개요를 참조하세요.

현재 Google Cloud에서 지원되지 않는 기존 Dataform 기능

다음 기존 Dataform 기능은 현재 Google Cloud Dataform에서 지원되지 않습니다.

  • 단위 테스트를 수동으로 실행합니다.
  • 개발 작업공간에서 파일 콘텐츠 검색

이 목록은 Google Cloud에서 Dataform의 새로운 기능이 출시되면 지속적으로 업데이트됩니다.

알려진 제한사항

Google Cloud의 Dataform에는 다음과 같은 알려진 제한사항이 있습니다.

  • Google Cloud의 Dataform은 일반 V8 런타임에서 실행되며 Node.js에서 제공하는 추가 기능과 모듈을 지원하지 않습니다. 기존 코드베이스에 Node.js 모듈이 필요한 경우 이러한 종속 항목을 삭제해야 합니다.

    package.json에 이름 필드가 없는 프로젝트는 패키지가 설치될 때마다 package-lock.json에 차이가 발생합니다. 이를 방지하려면 package.jsonname 속성을 추가해야 합니다.

  • package.json의 종속 항목에 대한 git+https:// URL은 지원되지 않습니다.

    이러한 URL을 일반 https:// 아카이브 URL로 변환합니다. 예를 들어 git+https://github.com/dataform-co/dataform-segment.git#1.5https://github.com/dataform-co/dataform-segment/archive/1.5.tar.gz로 변환합니다.

시작하기 전에

  1. Google Cloud 계정에 로그인합니다. Google Cloud를 처음 사용하는 경우 계정을 만들고 Google 제품의 실제 성능을 평가해 보세요. 신규 고객에게는 워크로드를 실행, 테스트, 배포하는 데 사용할 수 있는 $300의 무료 크레딧이 제공됩니다.
  2. Google Cloud Console의 프로젝트 선택기 페이지에서 Google Cloud 프로젝트를 선택하거나 만듭니다.

    프로젝트 선택기로 이동

  3. Google Cloud 프로젝트에 결제가 사용 설정되어 있는지 확인합니다.

  4. API BigQuery and Dataform 사용 설정

    API 사용 설정

  5. Google Cloud Console의 프로젝트 선택기 페이지에서 Google Cloud 프로젝트를 선택하거나 만듭니다.

    프로젝트 선택기로 이동

  6. Google Cloud 프로젝트에 결제가 사용 설정되어 있는지 확인합니다.

  7. API BigQuery and Dataform 사용 설정

    API 사용 설정

필요한 역할

기존 프로젝트를 가져오는 데 필요한 권한을 얻으려면 관리자에게 Dataform 관리자(roles/dataform.admin) IAM 역할을 부여해 달라고 요청하세요. 역할 부여에 대한 자세한 내용은 액세스 관리를 참조하세요.

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

기존 프로젝트 가져오기

Google Cloud의 Dataform에서 기존 프로젝트를 가져오려면 Google Cloud 콘솔에서 다음 단계를 따르세요.

  1. app.dataform.co의 Dataform 프로젝트가 GitHub 또는 GitLab에 연결되어 있는지 확인합니다.
  2. Google Cloud 콘솔에서 Dataform 페이지로 이동합니다.

    Dataform 페이지로 이동

  3. 새 저장소 만들기.

  4. 기존 프로젝트가 있는 원격 Git 저장소에 저장소를 연결합니다.

가져온 Dataform 프로젝트 구성

기존 프로젝트를 Google Cloud의 Dataform으로 조정하려면 다음 단계를 따르세요.

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

    Dataform 페이지로 이동

  2. 저장소를 선택합니다.

  3. 개발 작업공간을 만듭니다.

  4. 개발 작업공간으로 이동합니다.

  5. workflow_settings.yaml에서 defaultLocation 매개변수를 추가합니다. 이 매개변수는 app.dataform.co에서 무시됩니다.

    "defaultLocation": "DATASET_LOCATION",
    

    DATASET_LOCATION을 BigQuery 데이터 세트의 기본 위치(예: US, EU 또는 us-east1)로 바꿉니다.

  6. package-lock.json를 삭제합니다.

  7. package.json에서 다음을 수행합니다.

    1. @dataform/core3.0.0-beta.2 이상으로 업그레이드합니다.
    2. 다음 형식으로 패키지 이름을 추가합니다.

      {
          "name": "PACKAGE_NAME",
          "dependencies": {
              "@dataform/core": "^3.0.0-beta.2"
          }
      }
      

      PACKAGE_NAME을 Dataform 패키지의 이름(예: 프로젝트 이름)으로 바꿉니다.

    3. package.json 종속 항목의 git+https:// URL을 일반 https:// 보관 파일 URL로 변환합니다.

      예를 들어 git+https://github.com/dataform-co/dataform-segment.git#1.5https://github.com/dataform-co/dataform-segment/archive/1.5.tar.gz로 변환합니다.

      사전 빌드된 Dataform 패키지에서 git+https:// URL을 사용하는 경우 출시 페이지에서 이러한 패키지의 업데이트된 설치 안내를 확인합니다(예: Dataform 세그먼트 출시 페이지).

  8. BigQuery 권한사용자 권한을 구성합니다.

  9. environments.json에서 출시 구성으로 환경을 마이그레이션합니다.

  10. environments.json에서 워크플로 구성으로 일정을 마이그레이션합니다.

  11. Cloud Logging을 사용하여 알림을 구성합니다.

다음 단계