데이터 계보 문제 해결

이 페이지에서는 Data Catalog 데이터 계보의 문제를 해결하는 방법을 보여줍니다.

프로젝트 유형

데이터 애셋은 서로 다른 프로젝트에 있을 수 있으므로 가능한 프로젝트 및 애셋 이름에 대한 요약은 다음과 같습니다.

BigQuery 스토리지 프로젝트

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

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

컴퓨팅 프로젝트

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

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 작업을 실행한 후 다음 문제가 발생합니다. 이 경우 세 가지 시나리오에서 이 문제가 발생할 수 있습니다.

  • 활성 프로젝트 또는 컴퓨팅 프로젝트에서 Data Lineage API가 사용 중지되었습니다.
  • 활성 또는 컴퓨팅 프로젝트에 데이터 계보 뷰어(roles/datalineage.viewer)가 없습니다.
  • 데이터 계보가 아직 도착하지 않았습니다. 처리 중인 데이터의 규모와 복잡성에 따라 데이터 계보가 표시되는 데 표준 30분에서 최대 24시간이 걸릴 수 있습니다.

페이지 하단에 '권한이 누락되어 계보를 가져오지 못했습니다.'라는 메시지가 표시되면 활성 프로젝트에 대한 권한이 없는 것입니다. 그렇지 않으면 컴퓨팅 프로젝트에 대한 권한이 없는 것입니다.

빈 계보 그래프를 보여주는 스크린샷
그림 4. BigQuery UI에 표시되지 않는 계보 예시

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

그런 다음 활성 프로젝트에 Data Lineage API가 사용 설정되어 있는지 확인합니다. 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 프로세스 세부정보를 클릭하면 다음 메시지가 표시됩니다.

You don't have permission to view BigQuery process metadata in project X.

Google Cloud 콘솔에서

BigQuery UI의 계보 탭에 있는 세부정보 창에 오류 메시지가 표시됩니다.
그림 5. BigQuery UI에 표시되지 않는 BigQuery 프로세스 세부정보의 예시

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

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

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

예:

  • 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 the Data Catalog 메시지가 표시됩니다.

빈 테이블 패널을 보여주는 스크린샷
그림 6. BigQuery UI에 표시되지 않는 BigQuery 테이블 세부정보의 예시

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