BigQuery에서 데이터 통계 생성

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

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

시작하기 전에

데이터 통계는 BigQuery의 Gemini를 사용하여 생성됩니다. 통계 생성을 시작하려면 먼저 BigQuery의 Gemini를 설정해야 합니다. Gemini는 데이터가 저장된 리전과 동일한 리전에서 데이터를 처리하지 않을 수 있습니다. 자세한 내용은 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;
    

권장사항

생성된 통계의 정확성을 개선하려면 다음 권장사항을 따르세요.

데이터 프로파일링 결과에 대한 통계 기반

생성형 AI에서 그라운딩은 모델 출력을 확인 가능한 정보 소스에 연결하는 기능입니다. 생성된 통계를 데이터 프로파일링 결과에 적용할 수 있습니다. 데이터 프로파일링은 BigQuery 테이블의 열을 분석하고 일반적인 데이터 값, 데이터 분포와 같은 일반적인 통계적 특성을 식별합니다. 테이블에 데이터 프로파일링 스캔을 만들 때 스캔 결과를 BigQuery 및 Dataplex Catalog에 게시할 수 있습니다. BigQuery는 데이터 프로파일링 결과를 사용하여 다음과 같은 방식으로 더 정확하고 관련성 높은 쿼리를 만듭니다.

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

데이터 프로파일링 스캔이 없으면 Gemini에서 생성하는 쿼리에 부정확한 절이 포함되거나 의미 없는 결과가 생성될 가능성이 높습니다.

테이블의 데이터 프로파일링 스캔이 최신 상태이고 결과가 BigQuery에 게시되어 있는지 확인합니다.

데이터 프로파일링 설정을 조정하여 샘플링 크기를 늘리고 행과 열을 필터링할 수 있습니다. 새 데이터 프로파일링 스캔을 실행한 후 통계를 다시 생성합니다.

테이블 설명 추가

테이블에서 분석하려는 항목을 설명하는 자세한 테이블 설명을 제공하면 Gemini in BigQuery에서 더 관련성 높은 통계를 생성하는 데 도움이 됩니다. 테이블 설명을 추가한 후 통계를 다시 생성합니다.

예를 들어 telco_churn 테이블에 다음 설명을 추가할 수 있습니다. '이 표는 구독 세부정보, 가입 기간, 서비스 사용량을 비롯한 고객 이탈 데이터를 추적하여 고객 이탈 행동을 예측합니다.'

열 설명 추가

각 열의 의미나 한 열과 다른 열의 관계를 설명하는 열 설명을 추가하면 유용한 정보의 품질을 개선할 수 있습니다. 테이블에서 열 설명을 업데이트한 후 통계를 다시 생성합니다.

예를 들어 telco_churn 테이블의 특정 열에 다음 설명을 추가할 수 있습니다.

  • Tenure: '고객이 서비스를 이용한 기간(개월)입니다.'
  • Churn: '고객이 서비스를 중단했는지 여부입니다. TRUE는 고객이 더 이상 서비스를 사용하지 않음을 나타내고 FALSE는 고객이 활성 상태임을 나타냅니다."

BigQuery 테이블의 통계 생성

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

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

    BigQuery Studio로 이동

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

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

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

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

    테이블에 대해 게시된 데이터 프로파일링 결과를 사용할 수 있으면 이를 사용하여 통계를 생성합니다. 그렇지 않으면 열 이름과 설명을 기반으로 통계가 생성됩니다.

  5. 통계 탭에서 생성된 자연어 질문을 살펴봅니다.

  6. 질문에 답하는 SQL 쿼리를 보려면 질문을 클릭합니다.

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

  8. 후속 질문을 하려면 다음 단계를 따르세요.

    1. 이어서 질문하기를 클릭합니다. 쿼리가 새 데이터 캔버스에서 열립니다.

    2. 실행을 클릭한 다음 결과 쿼리를 클릭합니다.

    3. 후속 질문을 하려면 자연어 프롬프트 필드에 프롬프트를 입력하거나 쿼리 편집기에서 SQL을 수정합니다.

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

테이블에 대해 통계를 생성한 후에는 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)와 제한된 사용자 권한이 있는 테이블의 경우 테이블의 모든 열에 대한 읽기 액세스 권한이 있으면 통계를 생성할 수 있습니다. 생성된 쿼리를 실행하려면 충분한 권한이 있어야 합니다.

다음 단계