Dataform에서 SQL 워크플로 만들기 및 실행
이 빠른 시작에서는 Dataform에서 SQL 워크플로를 만들고 BigQuery에서 실행하는 다음 과정을 안내합니다.
시작하기 전에
- Google Cloud 계정에 로그인합니다. Google Cloud를 처음 사용하는 경우 계정을 만들고 Google 제품의 실제 성능을 평가해 보세요. 신규 고객에게는 워크로드를 실행, 테스트, 배포하는 데 사용할 수 있는 $300의 무료 크레딧이 제공됩니다.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Enable the BigQuery and Dataform APIs.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Enable the BigQuery and Dataform APIs.
필요한 역할
이 튜토리얼의 모든 작업을 수행하는 데 필요한 권한을 얻으려면 관리자에게 프로젝트에 대한 다음 IAM 역할을 부여해 달라고 요청하세요.
-
Dataform 관리자(
roles/dataform.admin
) - 저장소 -
Dataform 편집자(
roles/dataform.editor
) - 작업공간 및 워크플로 호출
역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.
Dataform 저장소 만들기
Google Cloud 콘솔에서 Dataform 페이지로 이동합니다.
저장소 만들기를 클릭합니다.
저장소 만들기 페이지에서 다음을 수행합니다.
저장소 ID 필드에
quickstart-repository
을 입력합니다.리전 목록에서
europe-west4
을 선택합니다.만들기를 클릭합니다.
Dataform 개발 작업공간 만들기 및 초기화
Google Cloud 콘솔에서 Dataform 페이지로 이동합니다.
quickstart-repository
를 클릭합니다.개발 작업공간 만들기를 클릭합니다.
개발 작업공간 만들기 창에서 다음을 수행합니다.
작업공간 ID 필드에
quickstart-workspace
를 입력합니다.만들기를 클릭합니다.
개발 작업공간 페이지가 표시됩니다.
작업공간 초기화를 클릭합니다.
뷰 만들기
다음 섹션에서는 나중에 테이블의 데이터 소스로 사용할 뷰를 정의합니다.
뷰를 정의하기 위한 SQLX 파일 만들기
파일 창에서
definitions/
옆에 있는 더보기 메뉴를 클릭합니다.파일 만들기를 클릭합니다.
새 파일 만들기 창에서 다음을 수행합니다.
파일 경로 추가 필드에
definitions/quickstart-source.sqlx
를 입력합니다.파일 만들기를 클릭합니다.
뷰 정의
파일 창에서 정의 폴더를 펼칩니다.
definitions/quickstart-source.sqlx
를 클릭합니다.파일에 다음 코드 스니펫을 입력합니다.
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
서식을 클릭합니다.
테이블 만들기
다음 섹션에서는 SQLX 파일로 테이블 유형을 정의한 후 SELECT
문을 작성해서 동일한 파일 내에서 테이블 구조를 정의합니다.
테이블 정의에 대해 SQLX 파일 만들기
파일 창에서
definitions/
옆에 있는 더보기 메뉴를 클릭한 다음 파일 만들기를 선택합니다.파일 경로 추가 필드에
definitions/quickstart-table.sqlx
를 입력합니다.파일 만들기를 클릭합니다.
테이블 유형, 구조, 종속 항목 정의
파일 창에서
definitions/
디렉터리를 펼칩니다.quickstart-table.sqlx
를 선택한 후 다음 테이블 유형 및SELECT
문을 입력합니다.config { type: "table" } SELECT fruit, SUM(count) as count FROM ${ref("quickstart-source")} GROUP BY 1
서식을 클릭합니다.
테이블 유형을 정의하고 나면 quickstart-source
가 아직 BigQuery에 없으므로 Dataform에서 쿼리 검증 오류가 발생합니다. 이 오류는 이 튜토리얼의 뒷부분에서 SQL 워크플로를 실행할 때 해결됩니다.
BigQuery에 Dataform 액세스 권한 부여
BigQuery에서 워크플로를 실행하려면 Dataform 서비스 계정에 다음과 같은 필수 역할이 있어야 합니다.
- Dataform에 읽기 및 쓰기 액세스 권한이 모두 필요한 프로젝트에 대한 BigQuery 데이터 편집자. 여기에는 일반적으로 Dataform 저장소를 호스팅하는 프로젝트가 포함됩니다.
- Dataform에 읽기 전용 액세스 권한이 필요한 프로젝트에 대한 BigQuery 데이터 뷰어
- Dataform 저장소를 호스팅하는 프로젝트에 대한 BigQuery 작업 사용자
이러한 역할을 부여하려면 다음 단계를 수행합니다.
Google Cloud 콘솔에서 IAM 페이지로 이동합니다.
추가를 클릭합니다.
새 주 구성원 필드에 Dataform 서비스 계정 ID를 입력합니다.
역할 선택 드롭다운 목록에서 BigQuery 작업 사용자 역할을 선택합니다.
다른 역할 추가를 클릭한 다음 역할 선택 드롭다운 목록에서 BigQuery 데이터 편집자 역할을 선택합니다.
다른 역할 추가를 클릭한 다음 역할 선택 드롭다운 목록에서 BigQuery 데이터 뷰어 역할을 선택합니다.
저장을 클릭합니다.
워크플로 실행
Google Cloud 콘솔에서 Dataform 페이지로 이동합니다.
quickstart-workspace
페이지에서 실행 시작을 클릭합니다.모든 작업을 클릭합니다.
실행 창에서 실행 시작을 클릭합니다.
Dataform은 기본 저장소 설정을 사용하여
dataform
이라는 BigQuery 데이터 세트에서 워크플로 콘텐츠를 만듭니다.
Dataform에서 실행 로그 확인
quickstart-repository
페이지에서 워크플로 실행 로그를 클릭합니다.실행 세부정보를 보려면 최신 실행을 클릭합니다.
삭제
이 페이지에서 사용한 리소스 비용이 Google Cloud 계정에 청구되지 않도록 하려면 다음 단계를 수행합니다.
BigQuery에서 만든 데이터 세트 삭제
BigQuery 애셋에 대한 요금이 청구되지 않도록 dataform
이라는 데이터 세트를 삭제합니다.
Google Cloud 콘솔에서 BigQuery 페이지로 이동합니다.
탐색기 패널에서 프로젝트를 확장하고
dataform
을 선택합니다.작업 메뉴를 클릭한 후 삭제를 클릭합니다.
데이터 세트 삭제 대화상자의 필드에
delete
를 입력한 후 삭제를 클릭합니다.
Dataform 개발 작업공간 삭제
Dataform 개발 작업공간을 만드는 데 비용은 발생하지 않지만 개발 작업공간을 삭제하려면 다음 단계를 수행하면 됩니다.
Google Cloud 콘솔에서 Dataform 페이지로 이동합니다.
quickstart-repository
를 클릭합니다.개발 작업공간 탭에서
quickstart-workspace
옆에 있는 더보기 메뉴를 클릭한 후 삭제를 선택합니다.삭제를 클릭하여 확인합니다.
Dataform 저장소 삭제
Dataform 저장소를 만드는 데 비용은 발생하지 않지만 저장소를 삭제하려면 다음 단계를 수행하면 됩니다.
Google Cloud 콘솔에서 Dataform 페이지로 이동합니다.
quickstart-repository
까지 더보기 메뉴를 클릭한 다음 삭제를 선택합니다.저장소 삭제 창에서 저장소 이름을 입력하여 삭제를 확인합니다.
삭제를 클릭하여 확인합니다.
다음 단계
Dataform에 대한 자세한 내용은 Dataform 개요를 참조하세요.
Dataform 기능에 대한 자세한 내용은 Dataform 기능 개요를 참조하세요.
Dataform Core에 대한 자세한 내용은 Dataform Core 개요를 참조하세요.
저장소의 기본 Dataform 설정을 재정의하는 방법은 Dataform 설정 구성을 참조하세요.
BigQuery에서 데이터 세트를 관리하는 방법에 대한 자세한 내용은 데이터 세트 관리를 참조하세요.
BigQuery에서 테이블을 관리하는 방법은 테이블 관리를 참조하세요.