Dataflow에서 데이터 계보 사용

데이터 계보는 시스템을 통해 데이터가 이동하는 방식, 즉 데이터의 출처, 데이터가 전달되는 위치, 데이터에 적용되는 변환을 추적할 수 있는 Dataflow 기능입니다.

Dataflow를 사용하여 실행하는 각 파이프라인에는 여러 관련 데이터 애셋이 있습니다. 데이터 애셋의 계보에는 출처, 애셋에 발생한 상황, 시간 경과에 따른 이동 위치가 포함됩니다. 데이터 계보를 사용하면 출처에서 최종 대상까지 데이터 애셋의 엔드 투 엔드 이동을 추적할 수 있습니다.

Dataflow 작업에 데이터 계보를 사용 설정하면 Dataflow가 계보 이벤트를 캡처하여 Dataplex Data Lineage API에 게시합니다.

Dataplex를 통해 계보 정보에 액세스하려면 시스템에 데이터 계보 사용 Google Cloud 을 참고하세요.

시작하기 전에

프로젝트를 설정합니다.

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. Make sure that billing is enabled for your Google Cloud project.

  3. Enable the Dataplex, BigQuery, and Data lineage APIs.

    Enable the APIs

  4. Make sure that billing is enabled for your Google Cloud project.

  5. Enable the Dataplex, BigQuery, and Data lineage APIs.

    Enable the APIs

Dataflow에서는 작업 수준에서도 계보 추적을 사용 설정해야 합니다. 이 문서의 Dataflow에서 데이터 계보 사용 설정을 참고하세요.

필요한 역할

계보 시각화 그래프를 보는 데 필요한 권한을 얻으려면 관리자에게 다음 IAM 역할을 부여해 달라고 요청하세요.

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

커스텀 역할이나 다른 사전 정의된 역할을 통해 필요한 권한을 얻을 수도 있습니다.

데이터 계보 역할에 대한 자세한 내용은 데이터 계보의 사전 정의된 역할을 참고하세요.

지원 및 제한 사항

Dataflow의 데이터 계보에는 다음과 같은 제한사항이 있습니다.

  • 데이터 계보는 Apache Beam SDK 버전 2.63.0 이상에서 지원됩니다.
  • 작업별로 데이터 계보를 사용 설정해야 합니다.
  • 데이터 캡처는 즉시 이루어지지 않습니다. Dataflow 작업 계보 데이터가 Dataplex에 표시되는 데 몇 분 정도 걸릴 수 있습니다.
  • 다음 소스 및 싱크가 지원됩니다.

    • Apache Kafka
    • BigQuery
    • Bigtable
    • Cloud Storage
    • JDBC (Java Database Connectivity)
    • Pub/Sub
    • Spanner

    이러한 소스와 싱크를 사용하는 Dataflow 템플릿은 계보 이벤트도 자동으로 캡처하고 게시합니다.

Dataflow에서 데이터 계보 사용 설정

작업 수준에서 계보 추적을 사용 설정해야 합니다. 데이터 계보를 사용 설정하려면 다음과 같이 enable_lineage Dataflow 서비스 옵션을 사용합니다.

자바

--dataflowServiceOptions=enable_lineage=true

Python

--dataflow_service_options=enable_lineage=true

Go

--dataflow_service_options=enable_lineage=true

gcloud

gcloud dataflow jobs run 명령어를 additional-experiments 옵션과 함께 사용합니다. Flex 템플릿을 사용하는 경우 gcloud dataflow flex-template run 명령어를 사용합니다.

--additional-experiments=enable_lineage=true

원하는 경우 서비스 옵션으로 다음 매개변수 중 하나 또는 둘 다를 지정할 수 있습니다.

  • process_id: Dataplex에서 작업 실행을 그룹화하는 데 사용하는 고유 식별자입니다. 지정하지 않으면 작업 이름이 사용됩니다.
  • process_name: 인간이 읽을 수 있는 데이터 계보 프로세스 이름입니다. 지정하지 않으면 "Dataflow " 접두사가 있는 작업 이름이 사용됩니다.

다음과 같이 옵션을 지정합니다.

자바

--dataflowServiceOptions=enable_lineage=process_id=PROCESS_ID;process_name=DISPLAY_NAME

Python

--dataflow_service_options=enable_lineage=process_id=PROCESS_ID;process_name=DISPLAY_NAME

Go

--dataflow_service_options=enable_lineage=process_id=PROCESS_ID;process_name=DISPLAY_NAME

gcloud

--additional-experiments=enable_lineage=process_id=PROCESS_ID;process_name=DISPLAY_NAME

Dataplex에서 계보 보기

데이터 계보는 프로젝트 리소스와 이를 만든 프로세스 간의 관계에 관한 정보를 제공합니다. Google Cloud 콘솔에서 그래프 또는 단일 테이블 형식으로 데이터 계보 정보를 볼 수 있습니다. Data Lineage API에서 JSON 데이터 형식으로 데이터 계보 정보를 가져올 수도 있습니다.

자세한 내용은 시스템에 데이터 계보 사용 Google Cloud 을 참고하세요.

Dataflow에서 데이터 계보 사용 중지

특정 작업에 데이터 계보가 사용 설정되어 있고 이를 사용 중지하려면 기존 작업을 취소하고 enable_lineage 서비스 옵션 없이 새 버전의 작업을 실행합니다.

결제

Dataflow에서 데이터 계보를 사용해도 Dataflow 청구에는 영향을 미치지 않지만 Dataplex 청구에는 추가 요금이 청구될 수 있습니다. 자세한 내용은 데이터 계보 고려사항Dataplex 가격 책정을 참고하세요.

다음 단계