데이터 계보 관련 문제 해결

이 문서는 Knowledge Catalog (이전 명칭: Dataplex Universal Catalog) 데이터 계보 그래프가 표시되지 않는 가장 일반적인 문제를 해결하는 데 도움이 됩니다. 이러한 문제를 해결하면 데이터 이동을 성공적으로 추적하고, 데이터 출처를 파악하고, 데이터 파이프라인을 디버그할 수 있습니다.

프로젝트 유형

데이터 애셋은 서로 다른 프로젝트에 있을 수 있습니다. 다음에서는 가능한 프로젝트와 애셋 이름을 요약 설명합니다.

BigQuery 스토리지 프로젝트

이 프로젝트는 BigQuery 데이터 애셋을 저장합니다. 애셋 세부정보에서 첫 번째 점 앞에 있는 Table ID의 일부로 데이터 애셋을 찾을 수 있습니다.

BigQuery UI에서 스토리지 프로젝트 이름은 정규화된 테이블 이름의 첫 번째 점 앞에 있는 테이블 ID 필드에 표시됩니다.
그림 1. BigQuery 스토리지 프로젝트 이름

컴퓨팅 프로젝트

이 프로젝트는 데이터 계보 메타데이터를 저장합니다. BigQuery의 경우 여기에서 작업을 실행합니다. Google Cloud 콘솔을 사용하여 작업을 실행하는 경우 프로젝트 선택기에서 컴퓨팅 프로젝트 이름을 찾을 수 있습니다.

BigQuery UI는 SQL 쿼리를 실행하는 페이지에 docs-compute라는 컴퓨팅 프로젝트를 표시합니다.
그림 2. BigQuery 작업을 실행하는 컴퓨팅 프로젝트 이름

BigQuery API에 요청을 전송할 때 URL에 컴퓨팅 프로젝트를 지정합니다. 예를 들면 다음과 같습니다.

POST /bigquery/v2/projects/docs-compute/jobs HTTP/1.1
Host: bigquery.googleapis.com
User-Agent: Go-http-client/1.1
Authorization: <REDACTED 1031 BYTES>
Accept-Encoding: gzip
{
  "configuration": {
    "query": {
      "useLegacySql": false,
      "query": "CREATE OR REPLACE TABLE `docs-target.dataset.target-002` AS SELECT * FROM `docs-source.dataset.source-002`;"
    }
  },
  "jobReference": {
    "projectId": "docs-compute",
    "jobId": "docs-compute-job-id",
    "location": "us",
  }
}

활성 프로젝트

보고 있는 데이터 계보의 프로젝트입니다. Google Cloud 콘솔에 프로젝트 선택기의 활성 프로젝트가 표시됩니다. API를 사용하는 경우 활성 프로젝트는 API를 호출을 수행하는 프로젝트입니다.

BigQuery UI에서는 docs-source 프로젝트에 있는 source-001 데이터 세트의 데이터 계보를 보여줍니다.
그림 3. Google Cloud 콘솔의 활성 프로젝트

BigQuery 데이터 계보가 표시되지 않음

BigQuery 작업을 실행한 후에 다음과 같은 문제가 발생합니다. 이 경우 다음 세 가지 시나리오로 인해 문제가 발생할 수 있습니다.

'권한 누락으로 인해 계보를 가져올 수 없습니다.' 메시지가 표시되면 활성 프로젝트에 대한 권한이 없는 것입니다. 그렇지 않으면 컴퓨팅 프로젝트에 대한 권한이 없는 것입니다.

비어 있는 계보 그래프
그림 4. BigQuery UI에 계보가 표시되지 않는 예시

이 문제를 해결하려면 Data Lineage API가 컴퓨팅 프로젝트에 사용 설정되어 있는지 확인합니다. API를 사용 설정한 후 데이터 계보를 확인하는 작업을 실행해야 합니다. 처리 중인 데이터 볼륨과 복잡성에 따라 데이터 계보가 표시되는 데 30분에서 최대 24시간이 걸릴 수 있습니다.

다음으로, Data Lineage API가 활성 프로젝트에 사용 설정되어 있는지 확인합니다.

Data Lineage API가 사용 설정되면 활성컴퓨팅 프로젝트 모두에 데이터 계보 뷰어 역할(roles/datalineage.viewer)을 부여합니다.

BigQuery 프로세스 메타데이터가 표시되지 않음

테이블 세부정보 창을 열면 SQL 문이나 Process type 속성과 같은 세부정보가 모두 표시되지 않는 문제가 발생합니다. 이 문제는 데이터 계보가 올바르게 표시되는 경우에도 발생합니다.

컴퓨팅 프로젝트에서 메타데이터를 확인할 수 있는 권한이 없으면 이 문제가 발생할 수 있습니다.

예:

  • BigQuery 소스 테이블: docs-source.dataset.source-001
  • BigQuery 대상 테이블: docs-target.dataset.target-001
  • 컴퓨팅 프로젝트 docs-computedocs-source.dataset.source-001docs-target.dataset.target-001 사이의 데이터 계보
  • 활성컴퓨팅 docs-compute 프로젝트에 대한 데이터 계보 뷰어 역할 있음

BigQuery 프로세스 세부정보를 클릭하면 Google Cloud 콘솔에 다음 메시지가 표시됩니다.

You don't have permission to view BigQuery process metadata in project X.
BigQuery UI의 계보 탭에 있는 세부정보 창에 오류 메시지가 표시됩니다.
그림 5. BigQuery UI에 BigQuery 프로세스 세부정보가 표시되지 않음 예시

이 문제를 해결하려면 컴퓨팅 프로젝트에서 사용자에게 bigquery.jobs.get 권한(예: BigQuery 리소스 뷰어 역할에 포함)을 부여합니다.

BigQuery 테이블 세부정보가 표시되지 않음

테이블 세부정보 창을 열면 Fully qualified name 속성만 표시되는 문제가 발생합니다. 이것은 데이터 계보가 올바르게 표시되는 경우에도 발생합니다. 테이블의 스토리지 프로젝트에 필요한 권한이 모두 없는 경우에도 이 문제가 발생할 수 있습니다.

예:

  • BigQuery 테이블 docs-source.dataset.source-001
  • BigQuery 테이블 docs-target.dataset.target-001
  • 컴퓨팅 프로젝트 docs-compute를 사용하는 docs-source.dataset.source-001docs-target.dataset.target-001 사이의 데이터 계보
  • 활성컴퓨팅 docs-compute 프로젝트에 대한 데이터 계보 뷰어 역할 있음

이 경우 BigQuery 노드 세부정보를 클릭하면 Entry with this fully qualified name is not available in Knowledge Catalog or you do not have permissions to view it 메시지가 표시됩니다.

BigQuery 테이블 세부정보가 표시되지 않습니다.
그림 6. BigQuery UI에 BigQuery 테이블 세부정보가 표시되지 않음 예시

이 문제를 해결하려면 스토리지 프로젝트에서 bigquery.tables.get 권한(예: BigQuery 데이터 뷰어 역할에 포함됨)을 부여합니다.

예상치 못한 Knowledge Catalog Premium 처리 요금

요금 청구를 중지하기 위해 Dataplex API (dataplex.googleapis.com)를 사용 중지했지만 'Knowledge Catalog Premium Processing' SKU에 대한 일일 요금이 계속 표시됩니다.

Data Lineage API (datalineage.googleapis.com)가 사용 설정된 상태로 유지되면 이 문제가 발생할 수 있습니다. Data Lineage API는 'Knowledge Catalog Premium Processing' SKU로 청구되지만 Google Cloud 콘솔에서 별도의 API로 관리됩니다. Dataplex API를 사용 중지해도 Data Lineage API가 사용 중지되거나 요금이 청구되지 않습니다.

데이터 계보가 요금의 원인인지 확인하려면 Cloud Billing 보고서에서 goog-dataplex-workload-type 라벨에 LINEAGE 값이 있는지 확인하세요.

요금이 청구되지 않도록 하려면 프로젝트에서 Data Lineage API를 사용 중지하여 데이터 계보를 사용 중지하세요.