Data Boost로 통합 쿼리 실행

이 페이지에서는 BigQuery에서 Spanner로 통합 쿼리를 실행할 때 Spanner Data Boost를 사용하는 방법을 설명합니다. Data Boost를 사용하면 통합 쿼리가 프로비저닝된 Spanner 인스턴스의 기존 워크로드에 거의 영향을 주지 않고 실행됩니다.

Spanner 통합을 사용하면 BigQuery에서 데이터를 복사하거나 이동하지 않고도 Spanner에 있는 데이터를 실시간으로 쿼리할 수 있습니다.

Spanner 통합 쿼리에 대한 자세한 내용은 Spanner 통합 쿼리를 참조하세요.

Data Boost에 대한 자세한 내용은 Data Boost 개요를 참조하세요.

시작하기 전에

Data Boost를 사용하여 통합 쿼리를 실행하기 전에 다음 작업을 완료하세요.

BigQuery Connection API 사용 설정

BigQuery Connection API를 사용하면 외부 데이터 소스에 대한 BigQuery 연결을 관리할 수 있습니다.

  • Enable the BigQuery connection API.

    Enable the API

자세한 내용은 BigQuery Connection API를 참조하세요.

주 구성원에게 Data Boost에 대한 IAM 권한 부여

Data Boost로 쿼리와 내보내기를 실행하려면 주 구성원에 spanner.instances.getspanner.databases.useDataBoost Identity and Access Management(IAM) 권한이 필요합니다.

Spanner Database Reader(roles/spanner.databaseReader)를 기반으로 커스텀 IAM 역할을 만들고 이 역할에 spanner.instances.getspanner.databases.useDataBoost를 추가하는 것이 좋습니다.

자세한 내용은 사전 정의된 역할을 참조하세요.

Data Boost로 Spanner용 BigQuery 연결 만들기

BigQuery 연결을 사용하면 BigQuery 외부에 저장된 데이터를 쿼리할 수 있습니다. BigQuery와 Spanner 간의 연결을 설정하려면 외부 데이터 연결을 만듭니다. 그런 다음 BigQuery 데이터와 Spanner 데이터를 조인하는 쿼리를 실행하면 됩니다.

Data Boost를 사용하는 Spanner에 대한 외부 데이터 연결을 만들려면 다음 옵션 중 하나를 선택합니다.

콘솔

  1. BigQuery 문서의 Spanner 연결 만들기로 이동하여 콘솔 안내를 따릅니다.

  2. 외부 데이터 소스 창에서 동시에 데이터 읽기Spanner Data Boost 사용 체크박스를 모두 선택합니다.

bq

  1. BigQuery 문서의 Spanner 연결 만들기로 이동하여 bq 안내를 따릅니다.

  2. 다음 연결 속성을 true로 설정합니다.

  • useParallelism
  • useDataBoost

다음 예시에서는 bq mk 명령어를 사용하여 Data Boost의 두 가지 필수 속성이 포함된 my_connection이라는 새 연결을 만듭니다.

bq mk --connection --connection_type='CLOUD_SPANNER' --location='us' \
--properties='{"database":"projects/my-project/instances/my-instance/databases/my-database", "useParallelism":true, "useDataBoost": true}' my_connection

통합 쿼리 실행

Data Boost를 사용하여 통합 쿼리를 실행하려면 Data Boost의 사용을 지정하는 BigQuery 연결을 사용합니다. 자세한 내용은 Data Boost로 Spanner용 BigQuery 연결 만들기를 참조하세요.

Google Cloud 콘솔의 Spanner 페이지 또는 BigQuery에서 시작할 수 있습니다.

콘솔의 Spanner 페이지에서 시작

  1. Google Cloud 콘솔에서 Spanner 인스턴스 페이지로 이동합니다.

    인스턴스 페이지로 이동

    콘솔에 Spanner 인스턴스 목록이 표시됩니다.

  2. Spanner 인스턴스를 선택한 후 데이터베이스를 선택합니다.

  3. 데이터베이스 개요 페이지의 탐색 메뉴에서 Spanner 스튜디오를 클릭합니다.

  4. BiqQuery에서 보기 탭을 클릭합니다.

  5. BigQuery에서 보기 대화상자에서 연결 ID를 입력합니다.

    그러면 새 연결이 생성됩니다. ID가 이미 존재하는 경우 오류가 발생합니다.

  6. 나머지 대화상자를 작성하고 동시에 데이터 읽기Spanner Data Boost 사용 체크박스를 선택합니다.

  7. BigQuery에서 보기를 클릭합니다.

    BigQuery Studio가 열립니다. 여기에 통합 쿼리를 입력하고 실행합니다.

    다음 예시에서는 orders라는 Spanner 데이터베이스에 통합 쿼리를 수행하고 결과를 mydataset.customers라는 BigQuery 테이블과 조인합니다.

    SELECT c.customer_id, c.name, rq.first_order_date
    FROM mydataset.customers AS c
    LEFT OUTER JOIN EXTERNAL_QUERY(
      'my-project.us.example-db',
      '''SELECT customer_id, MIN(order_date) AS first_order_date
      FROM orders
      GROUP BY customer_id''') AS rq
      ON rq.customer_id = c.customer_id
    GROUP BY c.customer_id, c.name, rq.first_order_date;

BigQuery에서 시작

  • 브라우저에 다음 URL을 입력합니다.

    https://console.cloud.google.com/bigquery

    가장 최근에 액세스한 프로젝트에서 BigQuery가 열리고 BigQuery Studio가 표시됩니다. 여기에서 통합 쿼리를 실행합니다.

다음 단계