BigQuery에서 데이터 통계 생성

데이터 통계는 데이터를 탐색하고 이해하기 위한 자동화된 방법을 제공합니다. Gemini를 사용하여 테이블의 메타데이터를 기반으로 쿼리를 생성하고 패턴을 발견하고 데이터 품질을 평가하며 통계 분석을 수행할 수 있습니다.

이 문서에서는 데이터 통계의 주요 기능과 유용한 데이터 탐색을 위해 쿼리 생성을 자동화하는 프로세스를 설명합니다.

시작하기 전에

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

필요한 역할

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

생성된 통계에 대한 읽기 전용 액세스 권한을 얻으려면 관리자에게 다음 IAM 역할을 부여해 달라고 요청하세요.

  • 통계를 보려는 BigQuery 테이블이 포함된 프로젝트에 대한 Dataplex DataScan DataViewer(roles/dataplex.dataScanDataViewer)

역할 부여에 대한 자세한 내용은 서비스 계정에 대한 액세스 관리를 참조하세요.

커스텀 역할 또는 기타 사전 정의된 역할을 통해 필요한 권한을 얻을 수도 있습니다. 통계를 생성하는 데 필요한 정확한 권한을 보려면 필수 권한 섹션을 펼치세요.

필수 권한

  • bigquery.jobs.create
  • bigquery.tables.get
  • bigquery.tables.getData
  • dataplex.datascans.create
  • dataplex.datascans.get
  • dataplex.datascans.getData
  • dataplex.datascans.run

API 사용 설정

데이터 통계를 사용하려면 프로젝트에서 다음 API를 사용 설정해야 합니다.

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

데이터 통계 정보

데이터 분석가는 익숙하지 않은 새 테이블을 탐색할 때 콜드 스타트 문제에 직면하는 경우가 많습니다. 이 문제에는 데이터 구조, 주요 패턴, 데이터의 관련 정보에 대한 불확실성이 포함되는 경우가 많아 쿼리 작성을 시작하기 어렵습니다. 데이터 통계는 테이블의 메타데이터를 기반으로 자연어 및 SQL로 쿼리를 자동으로 생성하여 콜드 스타트 문제를 해결합니다. 빈 쿼리 편집기로 시작하는 대신 가치 있는 통계를 제공하는 의미 있는 쿼리로 데이터 탐색을 빠르게 시작할 수 있습니다. 데이터 통계를 사용하여 생성된 쿼리는 정확성과 유용성을 향상시키기 위해 게시된 프로필 스캔 데이터를 사용하여 그라운딩됩니다.

통계 실행의 예

다음 메타데이터가 포함된 telco_churn이라는 테이블이 있다고 가정해보겠습니다.

필드 이름 유형
CustomerID STRING
성별 STRING
Tenure INT64
InternetService STRING
StreamingTV STRING
OnlineBackup STRING
계약 STRING
TechSupport STRING
PaymentMethod STRING
MonthlyCharges FLOAT
Churn BOOLEAN

다음은 데이터 통계가 이 테이블에 대해 생성하는 몇 가지 샘플 쿼리입니다.

  • 모든 프리미엄 서비스를 구독하고 50개월 넘게 고객으로 등록된 이력이 있는 고객을 식별합니다.

    SELECT
      CustomerID,
      Contract,
      Tenure
    FROM
      agentville_datasets.telco_churn
    WHERE
      OnlineBackup = 'Yes'
      AND TechSupport = 'Yes'
      AND StreamingTV = 'Yes'
      AND Tenure > 50;
    
  • 고객 이탈이 가장 많은 인터넷 서비스를 파악합니다.

    SELECT
      InternetService,
      COUNT(DISTINCT CustomerID) AS total_customers
    FROM
      agentville_datasets.telco_churn
    WHERE
      Churn = TRUE
    GROUP BY
      InternetService
    ORDER BY
      total_customers DESC
    LIMIT 1;
    
  • 가치가 높은 고객의 세그먼트별 이탈률을 파악합니다.

    SELECT
      Contract,
      InternetService,
      Gender,
      PaymentMethod,
      COUNT(DISTINCT CustomerID) AS total_customers,
      SUM(CASE WHEN Churn = TRUE THEN 1 ELSE 0 END) AS churned_customers,
      (SUM(CASE WHEN Churn = TRUE THEN 1 ELSE 0 END) / COUNT(DISTINCT CustomerID))
      * 100 AS churn_rate
    FROM
      agentville_datasets.telco_churn
    WHERE
      MonthlyCharges > 100
    GROUP BY
      Contract,
      InternetService,
      Gender,
      PaymentMethod;
    

프로필 스캔을 사용한 통계 그라운딩 정보

테이블에 데이터 프로필 스캔을 만들 때 스캔 결과를 BigQuery 및 Dataplex Catalog에 게시할 수 있습니다. BigQuery는 게시된 프로필 스캔 데이터를 사용하여 테이블에 대한 보다 정확하고 관련성이 높은 쿼리를 생성합니다.

프로필 스캔 데이터는 데이터 분포, 데이터 유형, 데이터 세트의 통계 요약에 대한 정보를 제공합니다. 데이터 통계는 프로필 스캔 데이터를 사용하여 데이터 세트 내 실제 데이터 분포와 패턴을 기반으로 하는 쿼리를 작성합니다. 이 프로세스는 다음과 같은 단계로 진행됩니다.

  • 프로필 스캔 데이터를 분석하여 데이터에서 흥미로운 패턴, 트렌드 또는 이상점을 식별합니다.
  • 유용한 정보를 얻기 위해 이러한 패턴, 트렌드, 이상점에 초점을 맞춘 쿼리를 생성합니다.
  • 유의미한 쿼리 결과가 반환되는지 확인하기 위해 프로필 스캔 데이터에 대해 생성된 쿼리를 검증합니다.

사용할 수 있는 스캔이 없으면 열 이름과 설명을 기반으로 통계가 생성됩니다.

데이터 통계 개선을 위한 팁

쿼리를 그라운딩하면 생성된 통계가 데이터의 실제 트렌드와 실제 값을 기반으로 합니다. 프로필 스캔 데이터를 사용하여 그라운딩된 쿼리를 최대한 활용하려면 다음 팁을 따르세요.

  • 테이블에 최신 게시 프로필 스캔 데이터가 있는지 확인합니다.
  • 생성된 쿼리를 검토하여 해당 쿼리가 프로필 스캔 데이터로 어떻게 그라운딩되었는지 파악합니다.
  • 프로필 스캔 설정을 조정하여 샘플링 크기를 늘리고 행과 열을 필터링합니다.
  • 테이블과 해당 열에 설명을 추가합니다. 보다 정확하고 자세한 설명을 제공하면 더 나은 품질의 통계를 얻을 수 있습니다.
  • 프로필 스캔 또는 설명을 업데이트한 후 테이블에 대한 통계를 다시 생성합니다.

BigQuery 테이블의 통계 생성

BigQuery 테이블의 통계를 생성하려면 BigQuery Studio를 사용하여 BigQuery의 테이블 항목에 액세스해야 합니다.

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

    BigQuery Studio로 이동

  2. 탐색기 창에서 통계를 생성할 테이블을 선택합니다.

  3. 통계 탭을 클릭합니다. 탭이 비어 있는 경우 이 테이블의 통계가 아직 생성되지 않았음을 의미합니다.

  4. 통계 파이프라인을 트리거하려면 통계 생성을 클릭합니다.

    통계가 채워지는 데 몇 분 정도 걸립니다.

    테이블에 대해 게시된 프로필 스캔을 사용할 수 있으면 포괄적인 통계를 생성하는 데 사용할 수 있습니다. 그렇지 않으면 열 이름과 설명을 기반으로 통계가 생성됩니다. 이 방법을 사용하면 프로필 스캔의 사용 여부에 관계없이 통계를 받을 수 있습니다.

  5. 통계 탭에서 생성된 쿼리와 해당 설명을 살펴봅니다.

  6. BigQuery에서 쿼리를 열려면 쿼리로 복사를 클릭합니다.

  7. 새로운 쿼리 세트를 생성하려면 통계 생성을 클릭하고 파이프라인을 다시 트리거합니다.

테이블에 대해 통계를 생성한 후에는 dataplex.datascans.getData 권한과 테이블에 대한 액세스 권한이 있는 모든 사용자가 이러한 통계를 볼 수 있습니다.

BigQuery 외부 테이블의 통계 생성

BigQuery 데이터 통계는 Cloud Storage의 데이터로 BigQuery 외부 테이블에 대한 통계 생성을 지원합니다. 사용자와 현재 프로젝트의 Dataplex 서비스 계정에는 데이터가 포함된 Cloud Storage 버킷에 대한 스토리지 객체 뷰어(roles/storage.objectViewer) 역할이 있어야 합니다. 자세한 내용은 버킷 수준 정책에 주 구성원 추가를 참조하세요.

BigQuery 외부 테이블에 대한 통계를 생성하려면 이 문서의 BigQuery 테이블의 통계 생성 섹션에 설명된 안내를 따르세요.

BigLake 테이블의 통계 생성

BigLake 테이블에 대한 통계를 생성하려면 다음 단계를 수행하세요.

  1. 프로젝트에 대해 BigQuery Connection API를 사용 설정합니다.

    BigQuery Connection API 사용 설정

  2. BigQuery 연결을 만듭니다. 자세한 내용은 연결 관리를 참조하세요.

  3. 생성된 BigQuery 연결에 해당하는 서비스 계정에 스토리지 객체 뷰어(roles/storage.objectViewer) IAM 역할을 부여합니다.

    연결 세부정보에서 서비스 계정 ID를 검색할 수 있습니다.

  4. 통계를 생성하려면 이 문서의 BigQuery 테이블의 통계 생성 섹션에 설명된 안내를 따르세요.

가격 책정

이 기능의 가격 책정에 관한 자세한 내용은 BigQuery의 Gemini 가격 책정 개요를 참고하세요.

할당량 및 한도

이 기능의 할당량 및 한도에 대한 자세한 내용은 BigQuery의 Gemini 할당량을 참조하세요.

제한사항

  • BigQuery 테이블, BigLake 테이블, 외부 테이블, 뷰에 대한 데이터 통계를 사용할 수 있습니다.
  • 멀티 클라우드 고객은 다른 클라우드의 데이터를 사용할 수 없습니다.
  • 데이터 통계는 Geo 또는 JSON 열 유형을 지원하지 않습니다.
  • 통계를 실행할 때마다 매번 쿼리가 표시되는 것은 아닙니다. 보다 흥미로운 쿼리를 생성할 가능성을 높이려면 통계 파이프라인을 다시 시작하세요.
  • 열 수준 액세스 제어(ACL)와 제한된 사용자 권한이 있는 테이블의 경우 테이블의 모든 열에 대한 읽기 액세스 권한이 있으면 통계를 생성할 수 있습니다. 생성된 쿼리를 실행하려면 충분한 권한이 있어야 합니다.

다음 단계