실습 설정 안내 및 요구사항
계정과 진행 상황을 보호하세요. 이 실습을 실행하려면 항상 시크릿 브라우저 창과 실습 사용자 인증 정보를 사용하세요.

외부 데이터 및 Iceberg 테이블 쿼리

실습 30분 universal_currency_alt 크레딧 5개 show_chart 입문
info 이 실습에는 학습을 지원하는 AI 도구가 통합되어 있을 수 있습니다.
이 콘텐츠는 아직 휴대기기에 최적화되지 않음
최상의 경험을 위해 데스크톱 컴퓨터에서 이메일로 전송된 링크를 사용하여 방문하세요.

개요

BigQuery로 Cloud Storage의 Iceberg 테이블 쿼리 이 실습에서는 BigQuery의 BigLake 테이블이 Cloud Storage 내에서 바로 오픈소스 형식의 데이터를 쿼리하는 방법을 살펴봅니다. 기존 Iceberg 테이블을 가리키는 BigLake 테이블을 만들어 데이터를 이동하거나 복제하지 않고도 분석할 수 있는 방법을 알아봅니다. 이 강력한 기능을 사용하면 BigQuery의 고성능 분석 엔진을 활용하면서도 개방형 형식으로 단일 정보 소스를 유지할 수 있습니다. 이러한 실습을 통해 형식이나 위치에 관계없이 데이터를 통합할 수 있는 최신 데이터 레이크하우스의 핵심을 이해할 수 있습니다.

먼저 BigQuery가 Cloud Storage의 데이터에 안전하게 액세스할 수 있도록 연결을 만듭니다. 그런 다음 원시 웹 로그 데이터가 포함된 샘플 Iceberg 테이블과 연결하여 BigLake 테이블을 정의합니다. Iceberg는 대규모 분석 데이터 세트를 위해 설계된 개방형 테이블 형식으로, Apache Spark와 같은 처리 엔진과 함께 사용되는 경우가 많습니다.

마지막으로 Cloud Storage의 Iceberg 데이터와 고객 정보가 포함된 네이티브 BigQuery 테이블을 원활하게 조인하는 쿼리를 실행합니다. 이러한 기법을 익힘으로써 Cymbal E-commerce에서 다양한 데이터 소스와 관련된 중요 비즈니스 질문에 답할 수 있게 됩니다. 예: '가장 가치가 높은 고객이 구매하기 직전에 가장 많이 조회하는 제품은 무엇인가?'

실습할 내용

  • BigQuery 및 BigLake를 사용하여 Cloud Storage의 CSV 파일에서 Iceberg 테이블을 만듭니다.
  • Iceberg 테이블을 쿼리하여 Cloud Storage에 저장된 데이터를 분석합니다.
  • BigLake 테이블을 네이티브 BigQuery 테이블과 조인하여 데이터 세트를 결합합니다.
  • Cloud Storage에 대한 Cloud 리소스 연결을 만듭니다.

설정 및 요건

실습 시작 버튼을 클릭하기 전에

다음 안내를 확인하세요. 실습에는 시간 제한이 있으며 일시중지할 수 없습니다. 실습 시작을 클릭하면 타이머가 시작됩니다. 이 타이머에는 Google Cloud 리소스를 사용할 수 있는 시간이 얼마나 남았는지 표시됩니다.

실무형 실습을 통해 시뮬레이션이나 데모 환경이 아닌 실제 클라우드 환경에서 직접 실습 활동을 진행할 수 있습니다. 실습 시간 동안 Google Cloud에 로그인하고 액세스하는 데 사용할 수 있는 새로운 임시 사용자 인증 정보가 제공됩니다.

필요한 사항

이 실습을 완료하려면 다음이 필요합니다.

  • 표준 인터넷 브라우저(Chrome 브라우저 권장)
  • 실습을 끝까지 진행할 수 있는 충분한 시간
참고: 개인용 Google Cloud 계정이나 프로젝트가 있어도 이 실습에서는 사용하지 마세요. 참고: Pixelbook을 사용하는 경우 시크릿 창을 열어 이 실습을 실행하세요.

Google Cloud 콘솔에 로그인

  1. 이 실습 세션에 사용하는 브라우저 탭 또는 창을 활용해 연결 세부정보 패널에서 사용자 이름을 복사하고 Google 콘솔 열기 버튼을 클릭합니다.
참고: 계정을 선택하라는 메시지가 표시되면 다른 계정 사용을 클릭합니다.
  1. 안내에 따라 사용자 이름비밀번호를 붙여넣습니다.
  2. 다음을 클릭합니다.
  3. 이용약관에 동의합니다.

임시 계정이므로 이 실습이 진행되는 동안만 계정이 유지됩니다.

  • 복구 옵션을 추가하지 않습니다.
  • 무료 체험판을 신청하지 않습니다.
  1. 콘솔이 열리면 왼쪽 상단의 탐색 메뉴(탐색 메뉴 아이콘)를 클릭해 서비스 목록을 확인합니다.

탐색 메뉴

필요한 API 확인 또는 사용 설정

  1. Google Cloud 콘솔의 상단 검색창에 BigLake API를 입력합니다.

  2. Marketplace에서 BigLake API에 대한 검색 결과를 클릭합니다.

  3. API가 아직 사용 설정되지 않은 경우 사용 설정을 클릭하여 API를 사용 설정합니다.

IAM 권한 확인

  1. 탐색 메뉴에서 IAM 및 관리자를 선택하고, 플라이아웃 하위 메뉴에서 IAM을 선택합니다.

  2. student-xx-xxxxxxxxxxxx@qwiklabs.net과 유사한 항목을 찾습니다.

  3. BigQuery 연결 관리자BigQuery 연결 사용자 역할이 있는지 확인합니다.

작업 1. Cloud Storage에 대한 연결 만들기

이 작업에서는 BigQuery가 Cloud Storage의 CSV 파일에 있는 데이터를 외부 테이블로 읽는 데 사용할 수 있도록 Cloud Storage에 대한 새 연결을 만듭니다.

연결 만들기

  1. Google Cloud 콘솔의 탐색 메뉴(탐색 메뉴)에서 BigQuery > Studio로 이동합니다.

  2. 왼쪽 상단 창에서 탐색기를 클릭하고 + 데이터 추가를 클릭합니다.

  3. 데이터 소스 유형에서 스토리지/데이터 레이크를 선택합니다.

  4. 가장 인기 있는 데이터 소스에서 Google Cloud Storage 카드를 클릭합니다.

  5. 외부 데이터에 액세스에 표시된 카드 중에서 외부 또는 BigLake 테이블을 클릭합니다.

  6. 테이블 만들기 화면에서 다음 값을 사용합니다.

속성
테이블을 만들 소스 Google Cloud Storage
GCS 버킷에서 파일을 선택하거나 URI 패턴 사용 cloud-training/OCBL462/cymbal_synthetic_weblog_data.csv
파일 형식 CSV
소스 데이터 파티셔닝 선택 해제된 상태로 둠
프로젝트 {{{project_0.project_id | Project ID}}}
데이터 세트 데이터 세트를 클릭하고 로드된 데이터 세트에서
cymbal_lake 선택
테이블 web_log
테이블 유형 외부 테이블
Cloud 리소스 연결을 사용하여 BigLake 테이블 만들기 이 항목의 체크박스 선택
연결 ID 드롭다운을 클릭하고 새 Cloud 리소스 연결 만들기 선택
연결 유형 Vertex AI 원격 모델, 원격 함수, BigLake, Spanner(Cloud 리소스)
연결 ID gcs-bucket-{{{project_0.project_id | Project ID}}}_eds
위치 유형 리전
리전 {{{project_0.default_region | Region}}}
별칭 비워두기
설명 비워두기
연결 만들기 클릭
스키마, 자동 감지 이 항목의 체크박스 선택
  1. 다른 모든 설정은 기본값으로 두고 테이블 만들기를 클릭합니다.

목표를 확인하려면 내 진행 상황 확인하기를 클릭합니다. Cloud Storage에 대한 연결 만들기

작업 2. BigQuery를 사용하여 Cloud Storage에서 Iceberg 테이블 만들기 및 로드하기

이 작업에서는 방금 만든 외부 테이블에서 데이터를 수집하고 Cloud Storage 버킷에 Iceberg 형식으로 데이터를 로드합니다.

  1. Google Cloud 콘솔의 탐색 메뉴(탐색 메뉴)에서 BigQuery > Studio로 이동합니다.

  2. 아직 열려 있지 않다면 기존 탐색기를 클릭하고 프로젝트를 펼칩니다. qwiklabs-gcp-xx-xxxxxxxxxxxx와 비슷한 형식입니다.

  3. cymbal_lake 항목을 펼칩니다.

  4. web_log 항목 오른쪽에 있는 세로 점 3개를 클릭합니다. 팝업 메뉴에서 쿼리를 선택합니다.

  5. 오른쪽 상단에서 X를 클릭하여 참조 패널을 닫습니다.

  6. SQL 쿼리를 다음 코드로 바꿉니다.

    CREATE TABLE cymbal_lake.iceberg_web_log WITH CONNECTION `projects/{{{project_0.project_id | Project ID}}}/locations/{{{project_0.default_region | Region}}}/connections/gcs-bucket-{{{project_0.project_id | Project ID}}}_eds` OPTIONS ( table_format = 'ICEBERG', storage_uri = 'gs://gcs-bucket-{{{project_0.project_id | Project ID}}}') AS SELECT * FROM `cymbal_lake.web_log`;
  7. 실행 버튼을 클릭합니다. 처리가 완료되면 오류 메시지가 표시됩니다. 적절한 권한을 설정하려면 BigQuery 서비스 계정 ID가 필요하므로 닫지 마세요. 오류 메시지는 다음 예시와 같습니다.

Access Denied: BigQuery BigQuery: Permission denied while writing data. bqcx-542604010272-n24h@gcp-sa-bigquery-condel.iam.gserviceaccount.com does not have storage.objects.create access to the Google Cloud Storage object. Permission 'storage.objects.create' denied on resource (or it may not exist). Please make sure gs://gcs-bucket-qwiklabs-gcp-00-333263c4c0ba/data/46d259a5-5da4-4e66-afa8-ae849d1bef50-17da16d07142b039-f-00000-of-00001.parquet is accessible via appropriate IAM roles, e.g. Storage Object Viewer or Storage Object Creator
  1. 오류 메시지에서 사용자 ID를 복사합니다. 그 형식은 bqcx-xxxxxxxxxxxx-xxxx@gcp-sa-bigquery-condel.iam.gserviceaccount.com입니다.

  2. Google Cloud 콘솔의 탐색 메뉴(탐색 메뉴)에서 Cloud Storage > 버킷으로 이동합니다.

  3. gcs-bucket- 버킷이 있는 행의 오른쪽 끝에 있는 세로 점 3개를 클릭하고 액세스 수정을 선택합니다.

  4. 액세스 제어 상자에서 균일한 권한으로 전환하기 링크를 클릭합니다.

  5. 팝업에서 균일을 선택합니다. 저장을 클릭합니다.

  6. + 보안 주체 추가를 클릭합니다.

  7. 새 보안 주체에 BigQuery 오류 메시지에서 복사한 사용자 ID를 붙여넣습니다.

  8. 역할* 선택을 클릭합니다.

  9. 필터스토리지 객체 사용자를 입력하고 표시되는 목록에서 스토리지 객체 사용자를 선택한 다음 저장을 클릭합니다.

  10. BigQuery로 돌아가서 작업 2의 6단계를 반복하여 테이블 생성 쿼리를 다시 실행합니다.

목표를 확인하려면 내 진행 상황 확인하기를 클릭합니다. BigQuery를 사용하여 Cloud Storage에서 Iceberg 테이블을 만들고 로드하기

작업 3. BigQuery에서 Iceberg 테이블 쿼리하기

이제 BigQuery를 사용하여 Cloud Storage에서 방금 만든 Iceberg 테이블의 데이터에 액세스합니다.

  1. Google Cloud 콘솔의 탐색 메뉴(탐색 메뉴)에서 BigQuery > Studio로 이동합니다.

  2. 아직 열려 있지 않다면 기존 탐색기에서 프로젝트의 항목을 펼칩니다. qwiklabs-gcp-xx-xxxxxxxxxxxx와 같은 형식으로 표시됩니다.

  3. cymbal_lake 항목을 펼칩니다.

  4. iceberg_web_log 항목 오른쪽에 있는 세로 점 3개를 클릭합니다. 팝업 메뉴에서 쿼리를 선택합니다.

  5. 오른쪽 상단에서 X를 클릭하여 참조 패널을 닫습니다.

  6. SQL 쿼리를 다음 코드로 바꿉니다.

    SELECT * FROM cymbal_lake.iceberg_web_log LIMIT 1000;
  7. 실행 버튼을 클릭합니다. 반환된 데이터는 Cloud Storage의 Iceberg 테이블에서 가져온 것입니다.

  8. SQL 쿼리를 다음 코드로 바꿉니다.

    SELECT * FROM cymbal_lake.iceberg_web_log AS WL INNER JOIN customers.customer_details AS CD ON WL.customer_id = CD.id LIMIT 1000;
  9. 실행 버튼을 클릭합니다. 반환된 데이터는 Cloud Storage의 Iceberg 테이블에서 네이티브 BigQuery 테이블의 고객 데이터에 조인된 것입니다.

목표를 확인하려면 내 진행 상황 확인하기를 클릭합니다. BigQuery에서 Iceberg 테이블 쿼리

수고하셨습니다

Cloud Storage의 CSV 파일 데이터에 액세스하기 위해 BigQuery에서 외부 테이블을 구성했습니다. 그런 다음 Cloud Storage에 Iceberg 테이블을 만들고 BigQuery를 사용하여 CSV 파일의 데이터로 테이블을 채웠습니다. 마지막으로 Iceberg 테이블의 데이터와 네이티브 BigQuery 테이블의 데이터를 결합하는 쿼리를 실행했습니다. 이 Cymbal 예시는 간단하지만 BigQuery 및 BigLake 레이크하우스가 데이터를 강력한 비즈니스 도구로 전환하는 데 얼마나 효과적이고 유연한지를 보여줍니다.

시작하기 전에

  1. 실습에서는 정해진 기간 동안 Google Cloud 프로젝트와 리소스를 만듭니다.
  2. 실습에는 시간 제한이 있으며 일시중지 기능이 없습니다. 실습을 종료하면 처음부터 다시 시작해야 합니다.
  3. 화면 왼쪽 상단에서 실습 시작을 클릭하여 시작합니다.

시크릿 브라우징 사용

  1. 실습에 입력한 사용자 이름비밀번호를 복사합니다.
  2. 비공개 모드에서 콘솔 열기를 클릭합니다.

콘솔에 로그인

    실습 사용자 인증 정보를 사용하여
  1. 로그인합니다. 다른 사용자 인증 정보를 사용하면 오류가 발생하거나 요금이 부과될 수 있습니다.
  2. 약관에 동의하고 리소스 복구 페이지를 건너뜁니다.
  3. 실습을 완료했거나 다시 시작하려고 하는 경우가 아니면 실습 종료를 클릭하지 마세요. 이 버튼을 클릭하면 작업 내용이 지워지고 프로젝트가 삭제됩니다.

현재 이 콘텐츠를 이용할 수 없습니다

이용할 수 있게 되면 이메일로 알려드리겠습니다.

감사합니다

이용할 수 있게 되면 이메일로 알려드리겠습니다.

한 번에 실습 1개만 가능

모든 기존 실습을 종료하고 이 실습을 시작할지 확인하세요.

시크릿 브라우징을 사용하여 실습 실행하기

이 실습을 실행하는 가장 좋은 방법은 시크릿 모드 또는 시크릿 브라우저 창을 사용하는 것입니다. 개인 계정과 학생 계정 간의 충돌로 개인 계정에 추가 요금이 발생하는 일을 방지해 줍니다.