구조화되지 않은 데이터에 데이터 통계 사용

비정형 데이터용 데이터 통계는 Vertex AI를 사용하여 Cloud Storage의 원시 비정형 파일을 BigQuery의 구조화된 쿼리 가능한 애셋으로 변환합니다. 비정형 데이터의 데이터 통계는 PDF 파일에 최적화되어 있습니다.

이 문서에서는 필요한 권한을 설정하고, 구조화되지 않은 데이터를 검색하고, 생성된 통계를 확인하고, BigQuery로 데이터를 추출하는 방법을 설명합니다.

시작하기 전에

구조화되지 않은 데이터에 대한 데이터 통계를 사용하기 전에 필요한 권한이 있고 API가 사용 설정되어 있는지 확인하세요.

API 사용 설정

프로젝트에 다음 API 사용 설정:

  • dataplex.googleapis.com
  • bigquery.googleapis.com
  • aiplatform.googleapis.com (Vertex AI)

API 사용 설정에 필요한 역할

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

API 사용 설정

필수 역할 및 권한

구조화되지 않은 데이터에 대한 데이터 통계를 구성하고 실행하려면 Knowledge Catalog 및 BigQuery에서 사용하는 서비스 계정에 필요한 Identity and Access Management (IAM) 역할과 권한이 있는지 확인하세요.

구조화되지 않은 파일을 Cloud Storage에서 자동으로 찾아 분석할 수 있도록 BigLake 객체 테이블에 분류하려면 탐색 스캔이 필요합니다. Cloud Storage 버킷에서 검색 스캔을 실행하는 데 필요한 일반적인 권한은 Cloud Storage 데이터 검색 및 분류를 참고하세요.

필요한 ID 및 역할 요약

ID 유형 일반적인 주 구성원 형식 필요한 IAM 역할 핵심 목적
최종 사용자 내 Google Cloud 사용자 계정
  • 서비스 사용량 관리자
  • Dataplex DataScan 관리자
  • Dataplex DataScan DataViewer
  • BigQuery 데이터 편집자
  • BigQuery 작업 사용자
이러한 역할을 사용하여 API를 사용 설정하고, 검색 스캔을 구성하고 확인하며, 최종 데이터 추출을 트리거합니다.
Knowledge Catalog Universal Catalog 검색 에이전트 service-<var>PROJECT_NUMBER</var>@gcp-sa-dataplex.iam.gserviceaccount.com
  • Vertex AI 사용자
  • 검색 서비스 에이전트
이 Google 관리형 서비스 에이전트는 Cloud Storage에서 비정형 파일을 찾아 분류하고 Vertex AI를 호출하여 추론된 스키마와 메타데이터를 생성합니다.
BigQuery 연결 서비스 계정 service-<var>PROJECT_NUMBER</var>@gcp-sa-bigqueryconnection.iam.gserviceaccount.com
  • 스토리지 객체 뷰어 (소스 버킷)
  • Vertex AI 사용자 (프로젝트)
BigQuery를 외부 저장소에 연결하여 BigQuery가 원시 파일을 읽고, BigLake 객체 테이블을 만들고, 개인 사용자 인증 정보를 노출하지 않고 AI 추론을 실행할 수 있습니다.
파이프라인 실행 서비스 계정 (선택사항) 사용자 관리 서비스 계정
  • BigQuery 데이터 편집자
  • BigQuery 작업 사용자
  • BigQuery 사용자
  • Vertex AI 사용자
자동화된 파이프라인을 사용하여 데이터를 추출하는 경우 이 ID는 AI 생성 항목을 BigQuery 테이블로 구체화하는 백그라운드 작업을 실행합니다.
기본 Dataform 서비스 계정 (선택사항) service-<var>PROJECT_NUMBER</var>@gcp-sa-dataform.iam.gserviceaccount.com
  • 서비스 계정 토큰 생성자 (파이프라인 실행 서비스 계정에 부여됨)
파이프라인 추출 방법을 사용하는 경우 Dataform은 워크플로를 오케스트레이션하기 위해 파이프라인 실행 서비스 계정을 가장할 권한이 필요합니다.

최종 사용자 역할 및 권한

사용자 계정에 탐색 스캔을 만들고, 통계를 보고, 데이터를 추출하는 데 필요한 권한이 있는지 확인하려면 관리자에게 프로젝트에 대한 다음 IAM 역할을 사용자 계정에 부여해 달라고 요청하세요.

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

이러한 사전 정의된 역할에는 탐색 스캔을 만들고, 통계를 보고, 데이터를 추출하는 데 필요한 권한이 포함되어 있습니다. 필요한 정확한 권한을 보려면 필수 권한 섹션을 펼치세요.

필수 권한

탐색 스캔을 만들고, 통계를 확인하고, 데이터를 추출하려면 다음 권한이 필요합니다.

  • 탐색 스캔:
    • dataplex.datascans.create
    • dataplex.datascans.get
    • dataplex.datascans.getData
    • dataplex.datascans.list
  • 데이터 추출:
    • bigquery.tables.create
    • bigquery.tables.update
    • bigquery.tables.getData
    • bigquery.jobs.create

관리자는 커스텀 역할이나 다른 사전 정의된 역할이 있는 이러한 권한을 사용자 계정에 부여할 수도 있습니다.

Knowledge Catalog 검색 서비스 에이전트 역할 및 권한

Knowledge Catalog 검색 서비스 에이전트는 Vertex AI를 사용하여 검색 스캔을 실행하고 추론을 수행하는 데 액세스 권한이 필요한 서비스 에이전트입니다.

Knowledge Catalog 탐색 서비스 에이전트 (일반적으로 service-PROJECT_NUMBER@gcp-sa-dataplex.iam.gserviceaccount.com)에 탐색 스캔을 실행하고 Vertex AI를 사용하여 추론을 수행하는 데 필요한 권한이 있는지 확인하려면 관리자에게 프로젝트에 대한 다음 IAM 역할을 Knowledge Catalog 탐색 서비스 에이전트 (일반적으로 service-PROJECT_NUMBER@gcp-sa-dataplex.iam.gserviceaccount.com)에 부여해 달라고 요청하세요.

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

이러한 사전 정의된 역할에는 탐색 스캔을 실행하고 Vertex AI를 사용하여 추론을 실행하는 데 필요한 권한이 포함되어 있습니다. 필요한 정확한 권한을 보려면 필수 권한 섹션을 펼치세요.

필수 권한

탐색 스캔을 실행하고 Vertex AI를 사용하여 추론을 실행하려면 다음 권한이 필요합니다.

  • aiplatform.endpoints.predict
  • bigquery.datasets.create
  • bigquery.datasets.get
  • storage.buckets.get
  • storage.objects.get
  • storage.objects.list

관리자는 커스텀 역할이나 다른 사전 정의된 역할을 사용하여 Knowledge Catalog 검색 서비스 에이전트 (일반적으로 service-PROJECT_NUMBER@gcp-sa-dataplex.iam.gserviceaccount.com)에 이러한 권한을 부여할 수도 있습니다.

BigQuery 연결 서비스 계정 역할 및 권한

BigQuery Cloud 리소스 연결을 사용하면 Knowledge Catalog에서 Cloud Storage와 같이 BigQuery 외부에 저장된 구조화되지 않은 데이터에 안전하게 액세스하고 이를 검색할 수 있습니다. 연결을 만들면 BigQuery가 자동으로 전용 서비스 계정을 대신 만듭니다. 이 서비스 계정은 외부 데이터 소스에 연결하는 데 사용되는 ID로 작동합니다.

기본적으로 이 서비스 계정에는 권한이 없습니다. 이 서비스 계정에 데이터가 포함된 Cloud Storage 버킷에 대한 필수 IAM 역할을 명시적으로 부여해야 합니다. 기존 BigQuery 연결을 사용하거나 소스 Cloud Storage 버킷과 동일한 위치에 새 연결을 만들 수 있습니다.

BigQuery 연결 서비스 계정 (일반적으로 service-PROJECT_NUMBER@gcp-sa-bigqueryconnection.iam.gserviceaccount.com)에 BigLake 객체 테이블을 만들고 추론을 실행하는 데 필요한 권한이 있는지 확인하려면 관리자에게 BigQuery 연결 서비스 계정 (일반적으로 service-PROJECT_NUMBER@gcp-sa-bigqueryconnection.iam.gserviceaccount.com)에 다음 IAM 역할을 부여해 달라고 요청하세요.

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

이러한 사전 정의된 역할에는 BigLake 객체 테이블을 만들고 추론을 실행하는 데 필요한 권한이 포함되어 있습니다. 필요한 정확한 권한을 보려면 필수 권한 섹션을 펼치세요.

필수 권한

BigLake 객체 테이블을 만들고 추론을 실행하려면 다음 권한이 필요합니다.

  • 비정형 데이터가 포함된 버킷에 대한 storage.buckets.get
  • 비정형 데이터가 포함된 버킷에 대한 storage.objects.get
  • 프로젝트에 대한 aiplatform.endpoints.predict 권한

관리자는 커스텀 역할이나 다른 사전 정의된 역할을 사용하여 BigQuery 연결 서비스 계정 (일반적으로 service-PROJECT_NUMBER@gcp-sa-bigqueryconnection.iam.gserviceaccount.com)에 이러한 권한을 부여할 수도 있습니다.

파이프라인 실행 서비스 계정 역할 및 권한 (선택사항)

자동화된 파이프라인을 사용하여 추론된 데이터를 추출하려면 파이프라인을 실행할 전용 서비스 계정을 만들거나 제공해야 합니다. 이 실행 서비스 계정은 BigQuery에서 백그라운드 데이터 추출 및 분석 작업을 안전하게 인증하고 실행하는 ID 역할을 합니다. 또한 기본 Dataform 서비스 계정에 이 실행 서비스 계정을 가장할 수 있는 권한을 부여해야 합니다.

파이프라인 실행 서비스 계정에 파이프라인을 사용하여 추론된 항목과 관계를 추출하는 데 필요한 권한이 있는지 확인하려면 관리자에게 프로젝트의 파이프라인 실행 서비스 계정에 다음 IAM 역할을 부여해 달라고 요청하세요.

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

이러한 사전 정의된 역할에는 파이프라인을 사용하여 추론된 항목과 관계를 추출하는 데 필요한 권한이 포함되어 있습니다. 필요한 정확한 권한을 보려면 필수 권한 섹션을 펼치세요.

필수 권한

파이프라인을 사용하여 추론된 항목과 관계를 추출하려면 다음 권한이 필요합니다.

  • bigquery.tables.create
  • bigquery.tables.update
  • bigquery.tables.get
  • bigquery.tables.getData
  • bigquery.jobs.create
  • aiplatform.endpoints.predict

관리자는 커스텀 역할이나 다른 사전 정의된 역할을 사용하여 파이프라인 실행 서비스 계정에 이러한 권한을 부여할 수도 있습니다.

기본 Dataform 서비스 계정 (service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com)에 파이프라인 실행 서비스 계정을 가장하는 데 필요한 권한이 있는지 확인하려면 관리자에게 파이프라인 실행 서비스 계정의 기본 Dataform 서비스 계정 (service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com)에 서비스 계정 토큰 생성자 (roles/iam.serviceAccountTokenCreator) IAM 역할을 부여해 달라고 요청하세요.

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

이 사전 정의된 역할에는 파이프라인 실행 서비스 계정을 가장하는 데 필요한 iam.serviceAccounts.getAccessToken 권한이 포함되어 있습니다.

관리자는 커스텀 역할이나 다른 사전 정의된 역할을 사용하여 기본 Dataform 서비스 계정 (service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com)에 이 권한을 부여할 수도 있습니다.


비정형 데이터 준비

검색 스캔을 실행하기 전에 구조화되지 않은 데이터를 Cloud Storage 버킷에 업로드해야 합니다. 비정형 데이터의 데이터 통계는 PDF 문서를 분석하는 데 최적화되어 있습니다.

Cloud Storage에 파일을 저장하고 관리하는 방법에 대한 자세한 내용은 객체 업로드를 참고하세요.

구조화되지 않은 데이터의 탐색 스캔 만들기

비정형 데이터에서 시맨틱 통계를 추출하려면 먼저 탐색 스캔을 만들어야 합니다. 이 스캔은 Cloud Storage에서 비정형 파일을 자동으로 찾아 BigLake 객체 테이블로 분류합니다. 이 과정에서 데이터 통계 옵션을 사용 설정하면 Knowledge Catalog에서 Vertex AI를 사용하여 파일을 분석하고 추론된 메타데이터, 스키마, 관계를 생성합니다.

  1. Google Cloud 콘솔에서 메타데이터 선별 페이지로 이동합니다.

    메타데이터 선별로 이동

  2. Cloud Storage 탐색 탭에서 만들기를 클릭합니다.

  3. 스캔의 이름을 입력합니다.

  4. 비정형 데이터가 포함된 Cloud Storage 버킷을 선택하려면 찾아보기를 클릭합니다.

  5. 비정형 데이터 옵션에서 의미론적 추론 사용 설정 체크박스를 선택합니다.

  6. 연결 ID 필드에서 파일에 액세스하는 데 사용되는 BigQuery 연결을 지정합니다.

    탐색 스캔은 BigLake 객체 테이블을 만들어 비정형 데이터를 BigQuery에 자동으로 카탈로그화합니다. BigLake 객체 테이블은 쿼리를 실행하는 사용자로부터 데이터 액세스 사용자 인증 정보를 안전하게 분리하므로 Cloud Storage로 인증하고 파일을 읽으려면 연결이 필요합니다.

  7. 지금 실행 (주문형 스캔) 또는 만들기 (예약된 스캔)를 클릭합니다.

    사용 가능한 모든 구성에 관한 자세한 내용은 Cloud Storage 데이터 탐색 및 분류를 참고하세요.

Knowledge Catalog는 BigLake 객체 테이블을 만들고 AI 생성 메타데이터로 카탈로그 항목을 보강합니다. 이 프로세스는 일반적으로 표준 데이터 세트의 경우 몇 분 정도 걸립니다.

BigLake 객체 테이블 찾기

탐색 스캔이 완료되면 Knowledge Catalog에서 하나 이상의 BigLake 객체 테이블을 만들고 AI 생성 메타데이터로 보강된 해당 항목으로 Knowledge Catalog를 채웁니다. 검색 스캔으로 인해 항목이 여러 개 생성되면 각 항목에 자체 통계 탭이 있습니다. 자동화된 표 설명, 추론된 스키마, 관계 그래프를 볼 수 있습니다.

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

    BigQuery로 이동

  2. 탐색 메뉴에서 거버넌스 > 메타데이터 큐레이션을 클릭합니다.

  3. Cloud Storage 탐색 창에서 비정형 데이터에 대해 실행한 탐색 스캔을 클릭합니다.

    • 스캔 세부정보 섹션에는 탐색 스캔에 대한 세부정보가 표시됩니다.
    • 스캔 상태 섹션에는 최신 스캔 작업의 탐색 결과가 표시됩니다.
  4. 게시된 데이터 세트 링크를 클릭합니다.

  5. BigQuery 데이터 세트에 표시된 테이블 목록에서 탐색 데이터 스캔을 위해 생성된 BigLake 객체 테이블을 선택합니다.

  6. 표 ID를 복사합니다. 다음 섹션에서 필요합니다.

추론된 항목 그래프 보기

Knowledge Catalog에서 검색 스캔의 BigLake 객체 테이블을 볼 수 있습니다.

  1. Google Cloud 콘솔에서 Knowledge Catalog 검색 페이지로 이동합니다.

    검색 페이지로 이동

  2. 이전 섹션에서 선택한 ID의 BigLake 객체 테이블을 붙여넣고 검색합니다.

  3. 검색 결과에서 테이블을 클릭하여 항목 페이지를 엽니다.

  4. 세부정보 탭의 측면에서 그래프 프로필 측면이 있는지 확인합니다. 이 측면에는 엔티티와 관계의 추론된 스키마가 포함됩니다.

  5. 통계 탭을 클릭합니다. 통계 탭에서 다음 정보를 확인할 수 있습니다.

    • 시맨틱 추출 배너에 추출 가능한 항목과 관계가 감지되었다고 표시됩니다. SQL 또는 파이프라인 배포를 사용하여 데이터를 구체화하는 추출 버튼이 포함되어 있습니다.

    • 설명. AI가 생성한 사람이 읽을 수 있는 요약은 구조화되지 않은 데이터 콘텐츠를 설명합니다. 발견된 기본 노드 (엔티티)와 에지 (관계)를 통해 서로 매핑되는 방식을 설명합니다.

    • 파이프라인. 이 리소스와 연결되어 이전에 배포된 데이터 추출 파이프라인 목록입니다. 표시 이름, 리전, 생성 시간, 파이프라인을 만든 사용자를 확인할 수 있습니다.

    • 추론된 항목 및 관계 시각적인 대화형 그래프에는 발견된 비정형 데이터의 시맨틱 구조가 표시됩니다. 그래프에는 '레시피', '재료'와 같은 개별 항목을 나타내는 노드와 '알레르기 유발 물질 상태'와 같은 노드 간의 연결을 나타내는 에지가 포함됩니다. 범례를 사용하여 특정 노드와 가장자리를 필터링하고 탐색할 수 있습니다.

    • 항목 발견된 기본 항목의 자세한 목록입니다. 각 항목을 펼쳐 AI 생성 설명과 추론된 스키마(필드 이름, 데이터 유형, 필드 설명 포함)를 볼 수 있습니다.

    • 관계 엔티티 간에 발견된 연결의 자세한 목록입니다. 각 관계를 펼쳐 설명과 항목이 서로 매핑되는 방식을 정의하는 스키마를 볼 수 있습니다.

추론된 통계 업데이트

추론된 인사이트는 BigLake 객체 테이블에 연결된 측면으로 Knowledge Catalog 카탈로그에 저장됩니다. Google Cloud 콘솔 또는 entry.patch API를 사용하여 이러한 통계를 수동으로 업데이트할 수 있습니다.

콘솔

Google Cloud 콘솔에서 추론된 통계를 업데이트하려면 다음 단계를 따르세요.

  1. Google Cloud 콘솔에서 Knowledge Catalog 검색 페이지로 이동합니다.

    검색 페이지로 이동

  2. BigLake 객체 테이블 ID를 붙여넣고 검색합니다.

  3. 검색 결과에서 테이블을 클릭하여 항목 페이지를 엽니다.

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

  5. 추론된 항목 및 관계 옆에 있는 수정을 클릭합니다.

  6. JSON 편집기에서 graph-profile 측면을 수정합니다.

  7. 저장을 클릭합니다.

REST

REST API를 사용하여 추론된 통계를 업데이트하려면 다음 단계를 따르세요.

  1. payload.json이라는 파일을 만들고 업데이트할 측면의 JSON 콘텐츠를 추가합니다. 예를 들면 다음과 같습니다.

    {
      "aspects": {
        "dataplex-types.global.graph-profile": {
          "data": {
            // Your updated inferred insights data
          }
        }
      }
    }
    
  2. 터미널에서 다음 명령어를 실행합니다.

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -d @payload.json \
    "https://dataplex.googleapis.com/v1/projects/<var>PROJECT_ID</var>/locations/<var>LOCATION</var>/entryGroups/<var>ENTRY_GROUP_ID</var>/entries/<var>ENTRY_ID</var>?updateMask=aspects"
    

    다음을 바꿉니다.

    • PROJECT_ID: 프로젝트 ID입니다(예: example-project).
    • LOCATION: 항목의 위치입니다(예: us-central1).
    • ENTRY_GROUP_ID: 항목 그룹의 ID(예: example-entry-group)
    • ENTRY_ID: 항목의 ID입니다(예: example-entry).

자세한 내용과 다른 언어의 코드 샘플은 항목 측면 업데이트를 참고하세요.

BigQuery로 데이터 추출

SQL 또는 자동화된 파이프라인을 사용하여 추론된 항목과 관계를 BigQuery의 구조화된 테이블 또는 뷰로 구체화할 수 있습니다.

  1. 인사이트 탭에서 추출을 클릭합니다.

  2. 분석 요구사항과 구조화되지 않은 데이터의 규모에 따라 다음 방법 중 하나를 선택하세요.

    • SQL로 추출: 신속한 임시 분석, 중소 규모 데이터 세트 또는 BigQuery 원격 모델을 사용하는 인프라 제로 접근 방식을 원하는 경우 이 옵션을 선택합니다.

      SQL을 사용하여 추출하려면 다음 단계를 따르세요.

      1. SQL로 추출을 선택합니다.
      2. SQL로 추출 창에서 대상 데이터 세트를 선택합니다. 데이터 세트는 소스와 동일한 위치에 있어야 합니다.
      3. 추출을 클릭합니다.
      4. BigQuery 편집기에서 사전 입력된 쿼리가 열립니다. 쿼리를 실행하여 표준 테이블과 뷰를 만듭니다.

      SQL을 사용하여 문서 통계를 추출하는 방법에 대한 자세한 내용은 ML.PROCESS_DOCUMENT 함수로 문서 처리하기를 참고하세요.

    • 파이프라인으로 추출: 대규모 데이터 처리를 위해 또는 대량의 문서를 처리하기 위해 강력한 재시도 로직, 오류 처리, 자동 오케스트레이션이 필요한 경우 이 옵션을 선택합니다.

      파이프라인을 사용하여 추출하려면 다음 단계를 따르세요.

      1. 파이프라인으로 추출을 선택합니다.
      2. 파이프라인으로 추출 창에 파이프라인의 표시 이름을 입력합니다.
      3. 리전을 선택하세요.
      4. 대상 데이터 세트를 선택합니다. 데이터 세트는 소스와 동일한 위치에 있어야 합니다.
      5. 추출을 클릭합니다. 이렇게 하면 데이터 구체화를 오케스트레이션하는 BigQuery 파이프라인이 생성됩니다.
      6. 파이프라인의 모든 작업을 실행하여 구조화된 노드 및 가장자리 뷰를 생성합니다.

      데이터 워크플로 실행에 대한 자세한 내용은 Dataform 소개를 참고하세요.

의미론적 통계를 추출하여 BigQuery에 구체화한 후 다음 작업을 수행할 수 있습니다.

  • 구조화된 데이터 쿼리 새로 생성된 테이블에 대해 표준 SQL 쿼리를 실행하여 추출된 항목과 관계를 분석합니다.

  • 기존 데이터와 조인 비정형 파일에서 추출한 정성적 통계를 기존의 정형 BigQuery 데이터 세트 (예: 파싱된 인보이스 데이터를 회계 테이블과 조인)와 결합합니다.

  • 데이터 통계 살펴보기 BigQuery Studio의 데이터 통계 기능을 사용하여 새 구조화된 애셋에 대한 자연어 질문과 SQL 쿼리를 자동으로 생성합니다.

  • Gemini로 분석하기 BigQuery의 Gemini를 사용하여 대화형 분석을 실행하고, 추세를 요약하고, 추출된 데이터를 기반으로 Looker Studio에서 대시보드를 만드세요.