시작하기 전에
- 실습에서는 정해진 기간 동안 Google Cloud 프로젝트와 리소스를 만듭니다.
- 실습에는 시간 제한이 있으며 일시중지 기능이 없습니다. 실습을 종료하면 처음부터 다시 시작해야 합니다.
- 화면 왼쪽 상단에서 실습 시작을 클릭하여 시작합니다.
Create BigQuery dataset and tables
/ 20
Load data into event table
/ 20
Create nested and repeated fields
/ 20
Create partitioned tables
/ 20
Create clustered tables
/ 20
BigQuery에서 데이터를 BigQuery 데이터 세트로 구성하고 열 이름과 데이터 유형을 사용하여 각 테이블의 스키마(또는 구조)를 정의할 수 있습니다. 테이블 스키마는 BigQuery가 얼마나 빠르고 효율적으로 테이블의 데이터에 액세스하고 처리할 수 있는지를 결정하므로 BigQuery에서의 쿼리 성능과 비용에 영향을 미칠 수 있습니다. BigQuery는 유연한 스키마를 지원하며 데이터를 다시 작성하지 않고도 스키마를 변경할 수 있습니다.
이 실습의 목표는 Teradata 전문가가 BigQuery 테이블 스키마를 효과적으로 설계하고 구현하는 데 필요한 지식과 기술을 제공하는 것입니다. 실습을 완료하면 Teradata 전문가는 BigQuery에서 테이블 스키마를 설계, 최적화, 쿼리하는 방법을 더욱 심층적으로 이해할 수 있습니다.
이 실습에서는 BigQuery 데이터 세트와 테이블을 만들어 데이터를 저장하고 중첩되고 반복되는 필드를 만들어 비정규화된 데이터의 관계를 유지하며 파티션을 나눈 테이블과 클러스터형 테이블을 만들어 쿼리 성능을 최적화합니다.
이 실습에서는 다음을 수행하는 방법에 대해 알아봅니다.
각 실습에서는 정해진 기간 동안 새 Google Cloud 프로젝트와 리소스 집합이 무료로 제공됩니다.
시크릿 창을 사용하여 Google Skills에 로그인합니다.
실습 사용 가능 시간(예: 1:15:00)을 참고하여 해당 시간 내에 완료합니다.
일시중지 기능은 없습니다. 필요한 경우 다시 시작할 수 있지만 처음부터 시작해야 합니다.
준비가 되면 실습 시작을 클릭합니다.
실습 사용자 인증 정보(사용자 이름 및 비밀번호)를 기록해 두세요. Google Cloud Console에 로그인합니다.
Google Console 열기를 클릭합니다.
다른 계정 사용을 클릭한 다음, 안내 메시지에 이 실습에 대한 사용자 인증 정보를 복사하여 붙여넣습니다. 다른 사용자 인증 정보를 사용하는 경우 오류가 발생하거나 요금이 부과됩니다.
약관에 동의하고 리소스 복구 페이지를 건너뜁니다.
실습 시작 버튼을 클릭합니다. 실습 비용을 결제해야 하는 경우 결제 수단을 선택할 수 있는 팝업이 열립니다. 왼쪽에 있는 패널에서 이 실습에 사용해야 하는 임시 사용자 인증 정보를 확인할 수 있습니다.
사용자 이름을 복사한 다음 Google 콘솔 열기를 클릭합니다. 실습에서 리소스가 실행되며 계정 선택 페이지를 표시하는 다른 탭이 열립니다.
계정 선택 페이지에서 다른 계정 사용을 클릭합니다. 로그인 페이지가 열립니다.
연결 세부정보 패널에서 복사한 사용자 이름을 붙여넣습니다. 그런 다음 비밀번호를 복사하여 붙여넣습니다.
잠시 후 Cloud 콘솔이 이 탭에서 열립니다.
BigQuery에서 데이터 정의 언어(DDL)를 사용하여 데이터 세트와 테이블을 만들 수 있습니다. 또한 SQL 문 LOAD DATA를 사용하여 파일 하나 이상에서 새 테이블이나 기존 테이블로 데이터를 로드할 수도 있습니다.
DDL 문을 사용하여 BigQuery 데이터 세트와 테이블을 만들고 LOAD DATA SQL 문을 사용하여 데이터를 로드하는 방법을 자세히 알아보려면 CREATE SCHEMA 문, CREATE TABLE 문, LOAD DATA 문 문서를 참조하세요.
이 작업에서는 DDL을 사용하여 BigQuery에서 데이터 세트와 테이블을 만든 후 LOAD DATA 문을 사용하여 새 테이블에 데이터를 로드합니다.
'Cloud 콘솔의 BigQuery에 오신 것을 환영합니다' 메시지 상자가 열립니다. 이 메시지 상자에서는 빠른 시작 가이드 및 출시 노트로 연결되는 링크가 제공됩니다.
완료를 클릭합니다.
SQL 작업공간 툴바에서 편집기 아이콘을 클릭하여 SQL 쿼리 편집기를 엽니다.
이 쿼리는 ticket_sales라는 새 BigQuery 데이터 세트를 만듭니다. DDL 문에서 사용하는 SCHEMA는 테이블, 뷰, 기타 리소스의 논리적 컬렉션을 나타내며 BigQuery에서는 이를 데이터 세트라고 합니다.
이 쿼리는 ticket_sales 데이터 세트에 sales라는 새 테이블을 만듭니다.
데이터 세트와 테이블이 나열된 탐색기 창을 펼친 후 테이블 이름 sales를 클릭합니다.
세부정보 탭과 미리보기 탭을 클릭하여 테이블에 대한 추가 정보를 확인합니다.
아직 테이블에 데이터가 없습니다.
이 쿼리는 명시적 테이블 스키마 정의를 사용하여 Cloud Storage의 CSV 파일에서 sales 테이블로 데이터를 로드합니다.
결과 창에 LOAD 문이 성공적으로 실행되었다는 메시지가 표시됩니다.
오른쪽 상단에 있는 새로고침을 클릭하여 미리보기 탭의 데이터를 새로고침할 수 있습니다.
내 진행 상황 확인하기를 클릭하여 목표를 확인합니다.
지금까지 BigQuery에서 SQL 문을 사용하여 데이터 세트와 테이블을 만들고 데이터를 로드했습니다. 이제 다른 테이블을 만들어 이벤트 정보 데이터를 로드해 보세요.
이 쿼리는 스키마 자동 감지를 사용하여 Cloud Storage의 CSV 파일에서 events 테이블로 데이터를 로드합니다.
결과 창에 LOAD 문이 성공적으로 실행되었다는 메시지가 표시됩니다.
오른쪽 상단에 있는 새로고침을 클릭하여 미리보기 탭의 데이터를 새로고침할 수 있습니다.
내 진행 상황 확인하기를 클릭하여 목표를 확인합니다.
비정규화는 이전에 정규화된 관계형 데이터 세트의 읽기 성능을 향상시키는 일반적인 전략입니다. BigQuery에서 데이터를 비정규화하려면 중첩되고 반복되는 필드를 사용하는 것이 좋습니다. 데이터를 완전히 평탄화하는 대신 비정규화된 데이터의 관계를 유지하려면 중첩되고 반복되는 필드를 사용하면 됩니다.
BigQuery의 중첩되고 반복되는 필드를 자세히 알아보려면 중첩되고 반복되는 필드 사용 문서를 참조하세요.
이 작업에서는 BigQuery에서 중첩되고 반복되는 필드를 만들고 쿼리하는 방법을 알아봅니다.
2단계의 SQL은 1단계의 이전 SQL과 유사하지만 ARRAY_AGG, STRUCT, GROUP BY 함수가 추가되었습니다.
일대다 관계에서 '일' 측의 데이터를 반복하는 대신 이제는 '다' 측의 데이터가 구조체 배열에 있습니다.
또한 이전 쿼리를 CREATE TABLE 문에 래핑하여 중첩된 계층 구조 테이블을 만들 수도 있습니다.
스키마에는 중첩되고 반복되는 sales 필드가 있으며 여기에는 각 이벤트 판매에 대한 판매 시간, 판매 수량, 결제 금액, 수수료가 포함되어 있습니다.
이 새로운 중첩되고 반복되는 구조로 인해 쿼리 작성 방식이 달라집니다.
이벤트별 최고 수수료를 확인하려면 어떻게 해야 하나요? 이를 확인하려면 배열 내부를 쿼리해야 합니다. 이렇게 하려면 배열을 중첩 해제(또는 평탄화)해야 합니다.
UNNEST 연산자는 sales 배열을 평탄화하는 데 사용되므로 이 연산자를 쿼리할 수 있으며 결과는 배열로 변환합니다.
UNNEST를 사용하여 배열을 평탄화하는 방법을 자세히 알아보려면 UNNEST 연산자 문서를 참조하세요.
내 진행 상황 확인하기를 클릭하여 목표를 확인합니다.
BigQuery에서 쿼리가 처리하는 바이트 수를 줄이는 한 가지 방법은 큰 테이블을 파티션이라고 하는 작은 세그먼트로 나눈 후 필터를 쿼리에 포함하여 적절한 파티션의 데이터만 선택하는 것입니다. 이 프로세스를 파티션 가지치기라고 하며 쿼리 비용을 줄이는 데 사용할 수 있습니다.
파티션을 나눈 테이블과 파티션 가지치기를 자세히 알아보려면 파티션을 나눈 테이블 소개 및 파티션을 나눈 테이블 쿼리 문서를 참조하세요.
이 작업에서는 (DATETIME 열에서) 시간 단위로 파티션을 나눈 테이블을 만들고 쿼리하여 쿼리에서 처리하는 바이트 수를 최소화하는 방법을 알아봅니다.
BigQuery 쿼리 검사기는 쿼리를 실행하기 전에 예상 처리 바이트 수를 제공합니다. 이 쿼리의 예상 수치(15.12MB)를 확인합니다.
새 쿼리에서 특정 날짜의 판매량만 요청하더라도 처리된 바이트 수는 1단계의 쿼리와 동일한 15.12MB입니다.
쿼리가 파티션을 나눈 테이블에서 실행되므로 처리되는 데이터가 더 적습니다(18.98KB). BigQuery는 파티션 가지치기를 사용하여 적은 양의 데이터를 처리할 수 있으므로 비용이 절감되고 쿼리 속도가 빨라집니다.
내 진행 상황 확인하기를 클릭하여 목표를 확인합니다.
BigQuery에서 쿼리 성능을 최적화하는 또 다른 방법은 테이블 내 값을 클러스터링하여 데이터를 논리적 스토리지 블록으로 정렬하고 그룹화하는 것입니다. 클러스터형 열을 기준으로 필터링하거나 집계하는 쿼리는 전체 테이블이나 테이블 파티션 대신 클러스터형 열을 기준으로 관련 블록만 스캔합니다. 이 프로세스를 블록 가지치기라고 하며 빠르게 조인, 검색, 그룹화, 정렬할 수 있습니다.
클러스터형 테이블과 블록 가지치기를 자세히 알아보려면 클러스터형 테이블 소개 및 클러스터형 테이블 쿼리 문서를 참조하세요.
이 작업에서는 클러스터형 테이블을 만들고 쿼리하여 쿼리 성능을 최적화하는 방법을 알아봅니다.
이 쿼리는 방대한 데이터(이 경우 행 10억개)가 포함된 Google의 공개 데이터 세트 중 하나를 사용합니다. 이 쿼리는 Wikipedia 데이터 테이블에서 언어별 조회수를 집계합니다.
셔플된 바이트 수(619.68KB)를 확인합니다.
이 명령어를 실행하는 데 몇 분 정도 걸릴 수 있습니다.
같은 쿼리를 클러스터형 테이블에서 실행하면 셔플된 바이트 수가 47.98KB로 줄어듭니다. 셔플되는 바이트 수가 적을수록 BigQuery 실행 시간이 빨라집니다.
내 진행 상황 확인하기를 클릭하여 목표를 확인합니다.
실습을 완료하면 실습 종료를 클릭합니다. Google Skills에서 사용된 리소스를 자동으로 삭제하고 계정을 지웁니다.
실습 경험을 평가할 수 있습니다. 해당하는 별표 수를 선택하고 의견을 입력한 후 제출을 클릭합니다.
별점의 의미는 다음과 같습니다.
의견을 제공하고 싶지 않다면 대화상자를 닫으면 됩니다.
의견이나 제안 또는 수정할 사항이 있다면 지원 탭을 사용하세요.
Copyright 2026 Google LLC All rights reserved. Google 및 Google 로고는 Google LLC의 상표입니다. 기타 모든 회사명 및 제품명은 해당 업체의 상표일 수 있습니다.
현재 이 콘텐츠를 이용할 수 없습니다
이용할 수 있게 되면 이메일로 알려드리겠습니다.
감사합니다
이용할 수 있게 되면 이메일로 알려드리겠습니다.
한 번에 실습 1개만 가능
모든 기존 실습을 종료하고 이 실습을 시작할지 확인하세요.