등록정보 및 데이터 교환 보기 및 구독

BigQuery Sharing (이전 명칭: Analytics Hub)에서는 등록정보와 데이터 교환을 검색하고 구독하여 데이터를 복제하거나 스토리지 비용을 발생시키지 않고 BigQuery에서 공유 데이터를 직접 쿼리할 수 있습니다. 구독하면 프로젝트에 읽기 전용 연결된 데이터 세트가 생성되어 기존 리소스와 함께 공유 테이블 및 뷰를 분석할 수 있습니다.

필요한 역할

등록정보를 사용하는 데 필요한 권한을 얻으려면 관리자에게 다음 IAM 역할을 부여해 달라고 요청하세요.

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

이러한 사전 정의된 역할에는 등록정보를 사용하는 데 필요한 권한이 포함되어 있습니다. 필요한 정확한 권한을 보려면 필수 권한 섹션을 펼치세요.

필수 권한

등록정보를 사용하려면 다음 권한이 필요합니다.

  • 새 데이터 세트 만들기: bigquery.datasets.create 구독자 프로젝트에서
  • 데이터 세트 쿼리: bigquery.jobs.create 구독자 프로젝트

커스텀 역할이나 다른 사전 정의된 역할을 사용하여 이 권한을 부여받을 수도 있습니다.

등록정보 탐색

공개 및 비공개 목록을 탐색하려면 다음 단계를 따르세요.

  1. Google Cloud 콘솔에서 Sharing(Analytics Hub) 페이지로 이동합니다.

    Sharing(Analytics Hub)으로 이동

  2. 등록정보 검색 을 클릭합니다. 액세스할 수 있는 등록정보가 포함된 대화상자가 나타납니다.

  3. 이름 또는 설명으로 등록정보를 필터링하려면 등록정보 검색 필드에 텍스트를 입력합니다.

  4. 필터 섹션에서 다음 필드를 사용하여 등록정보를 필터링합니다.

    • 등록정보: 비공개 등록정보, 공개 등록정보 또는 조직 내 등록정보를 표시할지 여부를 선택합니다.

    • 카테고리: 하나 이상의 카테고리를 선택합니다.

    • 위치: 위치를 선택합니다. 데이터 교환 위치로만 검색할 수 있습니다. 자세한 내용은 지원되는 리전을 참조하세요.

    • 제공업체: 데이터 제공업체를 선택합니다. 일부 데이터 제공업체는 상용 데이터 세트에 대한 액세스를 요청해야 합니다. 액세스 권한을 요청한 후 데이터 제공업체는 데이터 세트를 공유하기 위해 연락합니다.

  5. 필터링된 등록정보를 찾아봅니다.

데이터 교환 탐색

데이터 교환을 탐색하려면 다음 단계를 수행합니다.

  1. 콘솔 Google Cloud 에서 Sharing (Analytics Hub) 페이지로 이동합니다.

    Sharing(Analytics Hub)으로 이동

  2. 등록정보 검색 을 클릭합니다. 구독할 수 있는 등록정보와 데이터 교환이 포함된 대화상자가 표시됩니다.

  3. 이름 또는 설명으로 데이터 교환을 필터링하려면 등록정보 검색 필드에 텍스트를 입력합니다.

  4. 필터 섹션에서 다음 필드를 사용하여 데이터 클린룸 교환을 필터링합니다.

    • 등록정보: 공유 클린 룸을 보려면 클린룸 체크박스를 선택합니다.

    • 카테고리: 하나 이상의 카테고리를 선택합니다.

    • 위치: 위치를 선택합니다. 데이터 교환 위치로만 검색할 수 있습니다. 자세한 내용은 지원되는 리전을 참조하세요.

  5. 필터링된 데이터 클린룸을 찾아봅니다.

등록정보 구독

등록정보를 구독하면 프로젝트에 연결된 데이터 세트가 생성되어 등록정보의 데이터에 대한 읽기 전용 액세스 권한이 부여됩니다.

등록정보를 구독하려면 다음 단계를 따르세요.

콘솔

  1. 액세스 권한이 있는 등록정보 목록을 보려면 등록정보 탐색 단계를 따르세요.

  2. 등록정보 목록에서 구독하려는 등록정보를 클릭합니다. 등록정보 세부정보가 포함된 대화상자가 나타납니다. 대화상자에는 제공업체가 구독자 이메일 로깅을 사용 설정했는지 여부와 등록정보를 사용할 수 있는 리전이 표시됩니다.

  3. 등록정보에 승인 또는 구매 (예: 상용 데이터 세트)가 필요한 경우 액세스 요청 또는 Marketplace를 통해 구매 를 클릭합니다. 그렇지 않으면 구독 을 클릭하여 연결된 데이터 세트 만들기 대화상자를 엽니다.

  4. 프로젝트에서 Analytics Hub API가 사용 설정되지 않은 경우 표시되는 메시지에서 Analytics Hub API 사용 설정 을 클릭합니다.

  5. 연결된 데이터 세트 만들기 대화상자에서 다음 세부정보를 지정합니다.

    • 프로젝트: 데이터 세트를 추가할 프로젝트의 이름을 입력합니다.
    • 연결된 데이터 세트 이름: 연결된 데이터 세트의 이름을 입력합니다.
    • 기본 리전: 연결된 데이터 세트를 만들 리전을 선택합니다.

    • 선택사항: 복제본 리전: 연결된 데이터 세트 복제본을 만들 리전을 선택합니다. 연결된 데이터 세트를 다른 데이터와 공동 배치하면 이그레스가 최소화되고 데이터 세트 간 조인이 용이해집니다. 복제본을 만들려면 연결된 데이터 세트에 bigquery.datasets.update 권한이 있어야 합니다.

  6. 연결된 데이터 세트를 만들려면 저장 을 클릭합니다.

API

등록정보를 구독하려면 projects.locations.dataExchanges.listings.subscribe 메서드를 호출합니다.

POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataExchanges/DATAEXCHANGE_ID/listings/LISTING_ID:subscribe

다음을 바꿉니다.

  • PROJECT_ID: 구독하려는 등록정보가 포함된 프로젝트의 Google Cloud 프로젝트 ID
  • LOCATION: 등록정보의 위치
  • DATAEXCHANGE_ID: 등록정보의 데이터 교환 ID
  • LISTING_ID: 구독하려는 등록정보 ID
  • SUBSCRIBER_PROJECT_ID: 연결된 데이터 세트를 만들 구독자 프로젝트의 Google Cloud 프로젝트 ID
  • LINKED_DATASET_ID: 연결된 데이터 세트에 부여할 ID
  • PRIMARY_REGION: 연결된 데이터 세트를 만들 기본 지리적 리전

요청 본문에서 연결된 데이터 세트를 만들 데이터 세트를 지정합니다. 연결된 데이터 세트:

{
"destinationDataset": {
  "datasetReference": {
    "projectId": "SUBSCRIBER_PROJECT_ID",
    "datasetId": "LINKED_DATASET_ID"
  },
  "location": "PRIMARY_REGION"
}
}

여러 리전에 연결된 데이터 세트 복제본으로 구독을 만들려면 location 필드에서 기본 리전을 지정합니다. 보조 복제본 리전을 지정하려면 destinationDataset.replica_locations 필드에 리전을 추가합니다. 지정된 모든 리전이 등록정보를 사용할 수 있는 리전인지 확인합니다.

요청이 성공하면 응답 본문에 구독 객체가 포함됩니다.

logLinkedDatasetQueryUserEmail 필드를 사용하여 데이터 교환 또는 등록정보에 구독자 이메일 로깅을 사용 설정하면 구독 응답에 log_linked_dataset_query_user_email: true가 포함됩니다. 로깅된 데이터는 job_principal_subject 필드의 INFORMATION_SCHEMA.SHARED_DATASET_USAGE에서 사용할 수 있습니다.

저장 프로시져 공유 (프리뷰)를 사용 설정하면 등록정보 응답 에 stored_procedure_config: true가 포함됩니다.

데이터 교환 구독

데이터 교환 을 구독하면 프로젝트에 연결된 데이터 세트 가 생성되어 데이터 교환의 데이터에 대한 읽기 전용 액세스 권한이 부여됩니다.

데이터 클린룸 교환을 구독하려면 다음 단계를 수행합니다.

콘솔

  1. 액세스 권한이 있는 데이터 클린룸 교환 목록을 보려면 다음 단계를 따르세요. 데이터 교환 탐색

  2. 데이터 클린룸 목록에서 구독하려는 데이터 클린룸 교환을 클릭합니다. 데이터 클린룸 교환 세부정보가 포함된 대화상자가 나타납니다.

  3. 구독 을 클릭하여 프로젝트에 데이터 클린룸 추가 대화상자를 엽니다.

  4. 프로젝트에서 Analytics Hub API가 사용 설정되지 않은 경우 표시되는 메시지에서 Analytics Hub API 사용 설정 을 클릭합니다.

  5. 프로젝트에 데이터 클린룸 추가 대화상자에서 다음 세부정보를 지정합니다.

    • 대상: 데이터 세트를 추가할 프로젝트의 이름을 입력합니다.
  6. 연결된 데이터 세트를 만들려면 저장 을 클릭합니다.

API

데이터 클린룸 교환을 구독하려면 projects.locations.dataExchanges.subscribe 메서드를 호출합니다.

POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataExchanges/DATAEXCHANGE_ID:subscribe

다음을 바꿉니다.

  • PROJECT_ID: 구독하려는 데이터 교환이 포함된 프로젝트의 Google Cloud 프로젝트 ID
  • LOCATION: 데이터 교환의 위치
  • DATAEXCHANGE_ID: 데이터 교환 ID
  • SUBSCRIBER_PROJECT_ID: 연결된 데이터 세트를 만들 구독자 프로젝트의 Google Cloud 프로젝트 ID
  • SUBSCRIPTION_ID: 만들 구독의 이름
  • LINKED_DATASET_ID: 연결된 데이터 세트에 부여할 ID
  • PRIMARY_REGION: 연결된 데이터 세트를 만들 기본 지리적 리전

요청 본문에서 대상 위치, 구독 이름, 연결된 데이터 세트를 만들 데이터 세트를 지정합니다.

{
"destination": "projects/SUBSCRIBER_PROJECT_ID/locations/LOCATION",
"subscription": "SUBSCRIPTION_ID",
"destinationDataset": {
  "datasetReference": {
    "projectId": "SUBSCRIBER_PROJECT_ID",
    "datasetId": "LINKED_DATASET_ID"
  },
  "location": "PRIMARY_REGION"
}
}

요청이 성공하면 응답 본문에 작업 객체가 포함됩니다. 데이터 교환에 구독자 이메일 로깅을 사용 설정한 경우 구독 응답에 log_linked_dataset_query_user_email: true가 포함됩니다.

연결된 데이터 세트 보기

연결된 데이터 세트는Google Cloud 콘솔에 다른 데이터 세트와 함께 표시됩니다.

프로젝트에서 연결된 데이터 세트를 보려면 다음 단계를 따르세요.

콘솔

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

    BigQuery로 이동

  2. 기존 탐색기 창에서 카테고리 기존 탐색기를 클릭합니다.

    강조 표시된 기존 탐색기 창 버튼

    기존 탐색기 창이 표시되지 않으면 왼쪽 창 펼치기 를 클릭하여 창을 엽니다.

  3. 기존 탐색기 창에서 Analytics Hub 연결된 데이터 세트 아이콘 연결된 데이터 세트가 포함된 프로젝트 이름을 클릭합니다.

또는 Knowledge Catalog를 사용하여 연결된 데이터 세트를 검색하고 볼 수 있습니다. 검색 쿼리에서 BigQuery Sharing에 연결된 모든 데이터 세트를 일치시키려면 type=dataset.linked 조건자를 사용합니다. 자세한 내용은 Knowledge Catalog 검색 구문을 참조하세요.

Cloud Shell

bq 명령줄 도구를 사용하여 프로젝트의 연결된 데이터 세트를 나열하려면 Cloud Shell에서 다음 명령어를 실행합니다.

PROJECT=PROJECT_ID \
for dataset in $(bq ls --project_id $PROJECT | tail +3); do [ "$(bq show -d --project_id $PROJECT $dataset | egrep LINKED)" ] && echo $dataset; done

PROJECT_ID를 Google Cloud 프로젝트 ID로 바꿉니다.

연결된 데이터 세트 쿼리

다른 BigQuery 테이블을 쿼리할 때와 같은 방식으로 연결된 데이터 세트의 테이블과 뷰를 쿼리할 수 있습니다.

연결된 데이터 세트의 테이블을 쿼리하려면 프로젝트 ID, 연결된 데이터 세트 ID, 테이블 이름을 참조하는 SELECT 쿼리를 실행합니다.

SELECT * FROM `PROJECT_ID`.`LINKED_DATASET_ID`.`TABLE_NAME`
LIMIT 10;

다음을 바꿉니다.

  • PROJECT_ID: Google Cloud 프로젝트 ID
  • LINKED_DATASET_ID: 연결된 데이터 세트의 ID
  • TABLE_NAME: 쿼리하려는 테이블 또는 뷰의 이름

자세한 내용은 대화형 쿼리 실행을 참조하세요.

연결된 데이터 세트 업데이트

연결된 데이터 세트의 리소스는 읽기 전용 입니다. 연결된 데이터 세트에 있는 리소스의 데이터 또는 메타데이터를 수정하거나 개별 리소스에 대한 권한을 지정할 수 없습니다.

연결된 데이터 세트의 설명과 라벨만 업데이트할 수 있습니다. 연결된 데이터 세트의 변경사항은 소스 또는 공유 데이터 세트에 영향을 주지 않습니다.

연결된 데이터 세트의 설명과 라벨을 업데이트하려면 다음 단계를 따르세요.

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

    BigQuery로 이동

  2. 탐색기 창에서 탐색기를 클릭합니다.

    강조 표시된 탐색기 창 버튼

  3. 탐색기 창에서 프로젝트 이름을 펼치고 데이터 세트를 클릭한 후 연결된 데이터 세트 이름을 클릭하여 엽니다.

  4. 세부정보 창에서 세부정보 수정 을 클릭하고 다음 옵션을 구성합니다.

    1. 라벨을 추가하려면 데이터 세트에 라벨 추가를 참조하세요.
    2. 콜레이션을 사용 설정하려면 콜레이션, 고급 옵션을 펼치고 다음 단계를 수행합니다.

      1. 기본 콜레이션 사용 설정 을 선택합니다.
      2. 기본 콜레이션 목록에서 옵션을 선택합니다.
  5. 변경사항을 저장하려면 저장 을 클릭합니다.

테이블 메타데이터 보기

연결된 데이터 세트의 테이블 메타데이터를 보려면 INFORMATION_SCHEMA.TABLES 뷰를 쿼리합니다.

SELECT * FROM `LINKED_DATASET_ID`.INFORMATION_SCHEMA.TABLES;

LINKED_DATASET_ID를 연결된 데이터 세트의 ID로 바꿉니다.

연결된 데이터 세트 구독 취소 또는 삭제

데이터 세트를 구독 취소하려면 연결된 데이터 세트를 삭제합니다. 연결된 데이터 세트를 삭제해도 소스 데이터 세트는 삭제되지 않습니다.

연결된 데이터 세트를 삭제한 후에는 검색할 수 없습니다. 하지만 언제든지 등록정보를 다시 구독하여 삭제된 연결된 데이터 세트를 다시 만들 수 있습니다.

게시자가 구독을 삭제하면 연결된 데이터 세트가 공유 데이터 세트에서 연결 해제됩니다. 이는 구독자가 소유한 리소스에 대한 게시자 시작 작업이므로 연결된 데이터 세트는 프로젝트에서 연결 해제된 상태로 유지됩니다. 연결 해제된 데이터 세트를 삭제하여 삭제할 수 있습니다.

연결된 데이터 세트를 삭제하려면 다음 단계를 따르세요.

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

    BigQuery로 이동

  2. 탐색기 창에서 탐색기를 클릭합니다.

    강조 표시된 탐색기 창 버튼

  3. 탐색기 창에서 프로젝트 이름을 펼치고 데이터 세트를 클릭한 후 연결된 데이터 세트 이름을 클릭하여 엽니다.

  4. 삭제 를 클릭합니다.

  5. 연결된 데이터 세트를 삭제하시겠습니까? 대화상자에서 delete를 입력하여 삭제를 확인합니다.

  6. 삭제 를 클릭합니다.

다음 단계

  • BigQuery Sharing 알아보기 .
  • 등록정보 관리 방법 알아보기
  • 데이터 교환 관리 방법 알아보기
  • BigQuery Sharing 감사 로그를 보는 방법 알아보기 .