데이터 세트 통계 생성

이 문서에서는 BigQuery 데이터 세트의 데이터 세트 통계를 생성하는 방법을 설명합니다. 데이터 세트 통계를 사용하면 관계 그래프와 테이블 간 쿼리를 생성하여 데이터 세트의 테이블 간 관계를 파악할 수 있습니다.

데이터 세트 통계를 사용하면 그래프에서 테이블 간 관계를 자동으로 검색하고 시각화하고, 기본 키와 외래 키 관계를 식별하고, 샘플 테이블 간 쿼리를 생성하여 테이블이 여러 개 있는 데이터 세트의 탐색을 가속화할 수 있습니다. 이는 문서를 보지 않고 데이터 구조를 파악하고, 스키마 정의, 사용량 기반 또는 AI 추론 테이블 간 관계를 검색하고, 여러 테이블을 조인하는 복잡한 쿼리를 생성하는 데 유용합니다.

테이블 및 데이터 세트 통계 개요는 데이터 통계 개요를 참조하세요.

데이터 세트 통계 생성 모드

데이터 세트 통계를 생성할 때 BigQuery는 두 가지 모드를 제공합니다.

모드 설명 사용
생성 및 게시

생성된 데이터 세트 통계를 메타데이터 측면 및 관계로 Knowledge Catalog에 유지합니다. 게시하려면 필요한 권한이 있어야 합니다. **생성 및 게시**를 사용하면 BigQuery에서 다음 작업을 실행합니다.

  • Knowledge Catalog에 데이터 세트 설명을 저장합니다.
  • 추천 쿼리 및 질문을 재사용 가능한 측면으로 캡처합니다.
  • Knowledge Catalog에서 관계를 메타데이터로 캡처합니다.
  • 적절한 Knowledge Catalog 액세스 권한이 있는 모든 사용자가 게시된 통계에 액세스할 수 있도록 하여 조직 지식을 공유합니다.
  • API를 사용하여 Knowledge Catalog에서 직접 설명을 수정하고 저장할 수 있습니다. 콘솔을 사용하여 추천 쿼리를 수정할 수 있습니다. Google Cloud

유지되고 재사용 가능한 전사적 데이터 문서화 또는 카탈로그 기반 거버넌스 워크플로를 빌드할 때 이 모드를 사용합니다.

게시하지 않고 생성

설명, 자연어 질문, 관계, SQL 쿼리와 같은 데이터 세트 통계를 주문형으로 만듭니다. 게시하지 않고 생성은 Knowledge Catalog에 통계를 게시하지 않습니다.

카탈로그를 어수선하게 만들지 않도록 빠른 임시 탐색에 이 모드를 사용합니다.

시작하기 전에

데이터 인사이트는 BigQuery의 Gemini를 사용하여 생성됩니다. 통계 생성을 시작하려면 먼저 BigQuery의 Gemini를 설정해야 합니다.

API 사용 설정

데이터 인사이트를 사용하려면 프로젝트에서 Dataplex API, BigQuery API, Gemini for Google Cloud API를 사용 설정합니다.

API 사용 설정에 필요한 역할

API를 사용 설정하려면 serviceusage.services.enable 권한이 포함된 서비스 사용량 관리자 IAM 역할(roles/serviceusage.serviceUsageAdmin)이 필요합니다. 역할 부여 방법 알아보기.

API 사용 설정

Gemini for Google Cloud API 사용 설정에 대한 자세한 내용은 프로젝트에서 Gemini for Google Cloud API 사용 설정을 참고하세요. Google Cloud

데이터 프로필 스캔 완료

통계 품질을 개선하려면 데이터 세트의 테이블에 대한 데이터 프로필 스캔 을 생성하세요.

필요한 역할

데이터 세트 통계를 생성, 관리, 검색하는 데 필요한 권한을 얻으려면 관리자에게 다음 IAM 역할을 부여해 달라고 요청하세요.

  • 통계 생성, 관리, 검색:
    • 프로젝트의 Dataplex DataScan 편집자 (roles/dataplex.dataScanEditor) 또는 Dataplex DataScan 관리자 (roles/dataplex.dataScanAdmin)
    • 테이블의 BigQuery 데이터 편집자 (roles/bigquery.dataEditor)
    • 프로젝트의 BigQuery 사용자 (roles/bigquery.user) 또는 BigQuery Studio 사용자 (roles/bigquery.studioUser)
    • BigQuery 리소스 뷰어 (roles/bigquery.resourceViewer) 프로젝트
  • 통계 보기:
  • Knowledge Catalog에 통계 게시: Dataplex 항목 및 EntryLink 소유자 (roles/dataplex.entryOwner) 항목 그룹

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

커스텀 역할이나 다른 사전 정의된 역할을 통해 필요한 권한을 얻을 수도 있습니다.

통계를 생성하는 데 필요한 정확한 권한을 보려면 필수 권한 섹션을 펼치세요.

필수 권한

  • bigquery.datasets.get: 데이터 세트 메타데이터 읽기
  • bigquery.jobs.create: 작업 만들기
  • bigquery.jobs.listAll: 프로젝트의 모든 작업 나열
  • bigquery.tables.get: 테이블 메타데이터 가져오기
  • bigquery.tables.getData: 테이블 데이터 및 메타데이터 가져오기
  • dataplex.datascans.create: DataScan 리소스 만들기
  • dataplex.datascans.get: DataScan 리소스 메타데이터 읽기
  • dataplex.datascans.getData: DataScan 실행 결과 읽기
  • dataplex.datascans.run: 주문형 DataScan 실행
  • dataplex.entryGroups.useSchemaJoinEntryLink: schema-join 항목 링크 사용
  • dataplex.entryGroups.useSchemaJoinAspect: 스키마 조인 측면 사용
  • dataplex.entryLinks.create: 항목 링크 만들기
  • dataplex.entryLinks.update: 항목 링크 업데이트
  • dataplex.entryLinks.delete: 항목 링크 삭제
  • dataplex.entries.link: 항목 연결
  • dataplex.entries.update: 항목 업데이트
  • dataplex.entryGroups.useDescriptionsAspect: 설명 측면 사용
  • dataplex.entryGroups.useQueriesAspect: 쿼리 측면 사용

데이터 세트 통계 생성

콘솔

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

    BigQuery Studio로 이동

  2. 탐색기 창에서 프로젝트를 선택한 후 통계를 생성할 데이터 세트를 선택합니다.

  3. 통계 탭을 클릭합니다.

  4. 통계를 생성하고 Knowledge Catalog에 게시하려면 생성 및 게시 를 클릭합니다.

    Knowledge Catalog에 게시하지 않고 통계를 생성하려면 게시하지 않고 생성 을 클릭합니다.

    생성 및 게시 모드와 게시하지 않고 생성 모드의 차이점에 대한 자세한 내용은 데이터 세트 통계 생성 모드를 참조하세요.

  5. 데이터 세트가 멀티 리전에 있는 경우 통계를 생성할 리전을 선택하라는 메시지가 표시될 수 있습니다. 통계 스캔이 생성될 멀티 리전에 해당하는 리전을 선택합니다.

    통계가 채워지는 데 몇 분 정도 걸립니다. 데이터 세트의 테이블에 데이터 프로파일링 결과가 있으면 통계 품질이 개선됩니다.

통계가 생성되면 BigQuery는 데이터 세트 설명, 관계 그래프, 관계 테이블, 샘플 테이블 간 쿼리를 표시합니다.

REST

프로그래매틱 방식으로 통계를 생성하려면 Knowledge Catalog DataScans API를 사용하세요. 이렇게 하려면 다음 단계를 수행합니다.

  1. BigQuery 데이터 세트의 데이터 문서화 데이터 스캔 생성
  2. 데이터 문서화 스캔 상태 확인
  3. Knowledge Catalog에 게시 확인

BigQuery 데이터 세트의 데이터 문서화 데이터 스캔 생성

  1. dataScans.create 메서드를 사용하여 데이터 문서화 데이터 스캔을 만듭니다. 원하는 경우 catalog_publishing_enabled 매개변수를 true로 설정하여 이러한 통계를 Knowledge Catalog에 게시할 수 있습니다.

    예를 들면 다음과 같습니다.

    alias gcurl='curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json"'
    gcurl -X POST \
    https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/\
    dataScans?dataScanId=DATASCAN_ID \
    -d '{
      "data": {
        "resource": "//bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID"
      },
      "executionSpec": {
        "trigger": { "onDemand": {} }
      },
      "type": "DATA_DOCUMENTATION",
      "dataDocumentationSpec": {
        "catalog_publishing_enabled": true
      }
    }'
    

    다음을 바꿉니다.

    • PROJECT_ID: 데이터 세트가 있는 Google Cloud 프로젝트의 ID
    • LOCATION: 데이터 스캔 이 실행되는 리전
    • DATASCAN_ID: 이 스캔에 제공하는 고유한 이름
    • DATASET_ID: 스캔 중인 BigQuery 데이터 세트의 ID
  2. 메서드를 사용하여 데이터 문서화 스캔 작업을 시작합니다.dataScans.run

    예를 들면 다음과 같습니다.

    gcurl -X POST \
    https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/\
    dataScans/DATASCAN_ID:run
    

    이 요청은 초기 상태와 함께 고유한 작업 ID를 반환합니다.

데이터 문서화 스캔 상태 확인

dataScans.get 메서드를 사용하여 스캔 작업 실행 완료를 확인합니다. 통계 및 게시 상태를 포함한 전체 결과를 검색하려면 view 매개변수를 FULL로 설정합니다.

작업 ID를 사용하여 작업 상태를 가져옵니다. 예를 들면 다음과 같습니다.

gcurl -X GET https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataScans/DATASCAN_ID/jobs/JOB_ID?view=FULL

상태가 SUCCEEDED 또는 FAILURE이면 작업이 완료됩니다.

성공적인 작업 응답에는 dataDocumentationResult 필드에 생성된 통계가 포함됩니다.

Knowledge Catalog에 게시 확인

catalog_publishing_enabledtrue로 설정되면 데이터 스캔 작업이 완료된 후 통계가 Knowledge Catalog에 비동기식으로 게시됩니다. 통계가 유지되었는지 확인하려면 Dataplex API를 사용하여 데이터 세트의 측면을 검사합니다.

통계는 데이터 세트 수준 데이터 스캔에서 생성되지만 결과 항목 링크는 연결하는 테이블 사이에 저장됩니다. 이러한 관계를 확인하려면 lookupEntryLinks 메서드 를 사용하여 특정 테이블 항목과 연결된 항목 링크를 검색합니다.

BigQuery 데이터 세트의 메타데이터를 검색하려면 entries.get 메서드를 사용합니다. 모든 측면을 포함하려면 view 매개변수를 FULL로 설정합니다. 예를 들면 다음과 같습니다.

gcurl -X GET https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/entryGroups/@bigquery/entries/bigquery.googleapis.com/projects/DATASET_PROJECT_ID/datasets/DATASET_ID?view=FULL

다음을 바꿉니다.

  • PROJECT_ID: DataScan이 구성된 Google Cloud 프로젝트의 ID
  • LOCATION: 항목 그룹이 있는 리전
  • DATASET_PROJECT_ID: BigQuery 데이터 세트가 있는 Google Cloud 프로젝트의 ID
  • DATASET: BigQuery 데이터 세트의 ID

Knowledge Catalog에 게시가 성공하면 다음 측면이 BigQuery 데이터 세트에 연결됩니다.

  • 설명: 데이터 세트의 AI 생성 설명을 포함합니다.
  • 쿼리: 데이터 세트와 관련된 관련 SQL 쿼리를 포함합니다.
  • 관계: 데이터 세트에 있는 테이블 간의 항목 링크로 유지됩니다.

데이터 세트 설명 보기 및 저장

Gemini는 데이터 세트의 자연어 설명을 생성하여 포함된 테이블 유형과 나타내는 비즈니스 도메인을 요약합니다. 이 설명을 데이터 세트의 메타데이터에 저장하려면 세부정보에 저장 을 클릭합니다.

세부정보를 저장하기 전에 설명을 수정할 수 있습니다.

관계 그래프 살펴보기

관계 그래프는 데이터 세트의 테이블이 서로 어떻게 관련되어 있는지 시각적으로 보여줍니다. 가장 많이 연결된 상위 10개 테이블을 노드로 표시하고 테이블 간의 관계를 나타내는 선을 표시합니다.

  • 두 테이블을 조인하는 열과 같은 관계 세부정보를 보려면 테이블 노드를 연결하는 가장자리에 마우스 포인터를 가져갑니다.
  • 그래프를 재정렬하여 가시성을 높이려면 테이블 노드를 드래그합니다.

관계 테이블 사용

관계 테이블 은 검색된 관계를 테이블 형식으로 나열합니다. 각 행은 두 테이블 간의 관계를 나타내며 소스 테이블과 열, 대상 테이블과 열을 보여줍니다. 소스 열은 관계가 결정된 방식을 나타냅니다.

  • LLM 추론. 데이터 세트의 테이블 및 열 이름과 설명을 기반으로 Gemini가 추론한 관계입니다.
  • 사용량 기반. 자주 조인을 기반으로 쿼리 로그에서 추출된 관계입니다.
  • 스키마 정의. 테이블 스키마의 기존 기본 키 및 외래 키 매핑에서 파생된 관계입니다.

특정 테이블의 관계를 필터링하거나 감지된 관계의 품질에 대한 의견을 제공할 수 있습니다. 생성된 데이터 세트 설명과 관계를 JSON 파일로 내보내려면 JSON으로 내보내기 를 클릭합니다.

쿼리 추천 사용

Gemini는 검색된 관계를 기반으로 샘플 쿼리를 생성합니다. 이는 데이터 세트의 여러 테이블을 조인하는 해당 SQL 쿼리가 있는 자연어 질문입니다.

  1. SQL 쿼리를 보려면 질문을 클릭합니다.

  2. BigQuery 쿼리 편집기에서 쿼리를 열려면 쿼리로 복사 를 클릭합니다. 그런 다음 쿼리를 실행하거나 수정할 수 있습니다.

  3. 후속 질문을 하려면 이어서 질문하기를 클릭합니다. 그러면 Gemini와 채팅하여 데이터를 탐색할 수 있는 제목이 없는 데이터 캔버스가 열립니다.

다음 단계