Dataform에서 SQL 워크플로 만들기 및 실행

이 빠른 시작에서는 Dataform에서 SQL 워크플로를 만들고 BigQuery에서 실행하는 다음 과정을 안내합니다.

시작하기 전에

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the BigQuery and Dataform APIs.

    Enable the APIs

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the BigQuery and Dataform APIs.

    Enable the APIs

필요한 역할

이 튜토리얼의 모든 작업을 수행하는 데 필요한 권한을 얻으려면 관리자에게 프로젝트에 대한 다음 IAM 역할을 부여해 달라고 요청하세요.

  • Dataform 관리자(roles/dataform.admin) - 저장소
  • Dataform 편집자(roles/dataform.editor) - 작업공간 및 워크플로 호출

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

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

Dataform 저장소 만들기

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

    Dataform으로 이동

  2. 저장소 만들기를 클릭합니다.

  3. 저장소 만들기 페이지에서 다음을 수행합니다.

    1. 저장소 ID 필드에 quickstart-repository을 입력합니다.

    2. 리전 목록에서 europe-west4을 선택합니다.

    3. 만들기를 클릭합니다.

Dataform 개발 작업공간 만들기 및 초기화

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

    Dataform으로 이동

  2. quickstart-repository를 클릭합니다.

  3. 개발 작업공간 만들기를 클릭합니다.

  4. 개발 작업공간 만들기 창에서 다음을 수행합니다.

    1. 작업공간 ID 필드에 quickstart-workspace를 입력합니다.

    2. 만들기를 클릭합니다.

    개발 작업공간 페이지가 표시됩니다.

  5. 작업공간 초기화를 클릭합니다.

뷰 만들기

다음 섹션에서는 나중에 테이블의 데이터 소스로 사용할 뷰를 정의합니다.

뷰를 정의하기 위한 SQLX 파일 만들기

  1. 파일 창에서 definitions/ 옆에 있는 더보기 메뉴를 클릭합니다.

  2. 파일 만들기를 클릭합니다.

  3. 새 파일 만들기 창에서 다음을 수행합니다.

    1. 파일 경로 추가 필드에 definitions/quickstart-source.sqlx를 입력합니다.

    2. 파일 만들기를 클릭합니다.

뷰 정의

  1. 파일 창에서 정의 폴더를 펼칩니다.

  2. definitions/quickstart-source.sqlx를 클릭합니다.

  3. 파일에 다음 코드 스니펫을 입력합니다.

    config {
     type: "view"
    }
    
    SELECT
     "apples" AS fruit,
     2 AS count
    UNION ALL
    SELECT
     "oranges" AS fruit,
     5 AS count
    UNION ALL
    SELECT
     "pears" AS fruit,
     1 AS count
    UNION ALL
    SELECT
     "bananas" AS fruit,
     0 AS count
    
  4. 서식을 클릭합니다.

테이블 만들기

다음 섹션에서는 SQLX 파일로 테이블 유형을 정의한 후 SELECT 문을 작성해서 동일한 파일 내에서 테이블 구조를 정의합니다.

테이블 정의에 대해 SQLX 파일 만들기

  1. 파일 창에서 definitions/ 옆에 있는 더보기 메뉴를 클릭한 다음 파일 만들기를 선택합니다.

  2. 파일 경로 추가 필드에 definitions/quickstart-table.sqlx를 입력합니다.

  3. 파일 만들기를 클릭합니다.

테이블 유형, 구조, 종속 항목 정의

  1. 파일 창에서 definitions/ 디렉터리를 펼칩니다.

  2. quickstart-table.sqlx를 선택한 후 다음 테이블 유형 및 SELECT 문을 입력합니다.

    config {
     type: "table"
    }
    
    SELECT
     fruit,
     SUM(count) as count
    FROM ${ref("quickstart-source")}
    GROUP BY 1
    
  3. 서식을 클릭합니다.

테이블 유형을 정의하고 나면 quickstart-source가 아직 BigQuery에 없으므로 Dataform에서 쿼리 검증 오류가 발생합니다. 이 오류는 이 튜토리얼의 뒷부분에서 SQL 워크플로를 실행할 때 해결됩니다.

BigQuery에 Dataform 액세스 권한 부여

BigQuery에서 워크플로를 실행하려면 Dataform 서비스 계정에 다음과 같은 필수 역할이 있어야 합니다.

  • Dataform에 읽기 및 쓰기 액세스 권한이 모두 필요한 프로젝트에 대한 BigQuery 데이터 편집자. 여기에는 일반적으로 Dataform 저장소를 호스팅하는 프로젝트가 포함됩니다.
  • Dataform에 읽기 전용 액세스 권한이 필요한 프로젝트에 대한 BigQuery 데이터 뷰어
  • Dataform 저장소를 호스팅하는 프로젝트에 대한 BigQuery 작업 사용자

이러한 역할을 부여하려면 다음 단계를 수행합니다.

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

    IAM 페이지로 이동

  2. 추가를 클릭합니다.

  3. 새 주 구성원 필드에 Dataform 서비스 계정 ID를 입력합니다.

  4. 역할 선택 드롭다운 목록에서 BigQuery 작업 사용자 역할을 선택합니다.

  5. 다른 역할 추가를 클릭한 다음 역할 선택 드롭다운 목록에서 BigQuery 데이터 편집자 역할을 선택합니다.

  6. 다른 역할 추가를 클릭한 다음 역할 선택 드롭다운 목록에서 BigQuery 데이터 뷰어 역할을 선택합니다.

  7. 저장을 클릭합니다.

워크플로 실행

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

    Dataform으로 이동

  2. quickstart-workspace 페이지에서 실행 시작을 클릭합니다.

  3. 모든 작업을 클릭합니다.

  4. 실행 창에서 실행 시작을 클릭합니다.

    Dataform은 기본 저장소 설정을 사용하여 dataform이라는 BigQuery 데이터 세트에서 워크플로 콘텐츠를 만듭니다.

Dataform에서 실행 로그 확인

  1. quickstart-repository 페이지에서 워크플로 실행 로그를 클릭합니다.

  2. 실행 세부정보를 보려면 최신 실행을 클릭합니다.

삭제

이 페이지에서 사용한 리소스 비용이 Google Cloud 계정에 청구되지 않도록 하려면 다음 단계를 수행합니다.

BigQuery에서 만든 데이터 세트 삭제

BigQuery 애셋에 대한 요금이 청구되지 않도록 dataform이라는 데이터 세트를 삭제합니다.

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

    BigQuery로 이동

  2. 탐색기 패널에서 프로젝트를 확장하고 dataform을 선택합니다.

  3. 작업 메뉴를 클릭한 후 삭제를 클릭합니다.

  4. 데이터 세트 삭제 대화상자의 필드에 delete를 입력한 후 삭제를 클릭합니다.

Dataform 개발 작업공간 삭제

Dataform 개발 작업공간을 만드는 데 비용은 발생하지 않지만 개발 작업공간을 삭제하려면 다음 단계를 수행하면 됩니다.

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

    Dataform으로 이동

  2. quickstart-repository를 클릭합니다.

  3. 개발 작업공간 탭에서 quickstart-workspace 옆에 있는 더보기 메뉴를 클릭한 후 삭제를 선택합니다.

  4. 삭제를 클릭하여 확인합니다.

Dataform 저장소 삭제

Dataform 저장소를 만드는 데 비용은 발생하지 않지만 저장소를 삭제하려면 다음 단계를 수행하면 됩니다.

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

    Dataform으로 이동

  2. quickstart-repository까지 더보기 메뉴를 클릭한 다음 삭제를 선택합니다.

  3. 저장소 삭제 창에서 저장소 이름을 입력하여 삭제를 확인합니다.

  4. 삭제를 클릭하여 확인합니다.

다음 단계