Dataproc에서 Hive 데이터 계보 사용 설정

이 문서에서는 Dataproc Hive 작업에 대해 데이터 계보를 사용 설정하고 사용하는 방법을 보여줍니다.

클러스터를 만들초기화 작업을 사용하여 Dataproc Hive 작업의 데이터 계보를 사용 설정합니다.

클러스터에서 Hive 데이터 계보를 사용 설정하면 클러스터에 제출하는 Hive 작업이 데이터 계보 이벤트를 캡처하고 이를 Dataplex Universal Catalog에 게시합니다.

계보 정보 시각화

데이터 계보 그래프에는 프로젝트 리소스와 이를 만든 프로세스 간의 관계가 표시됩니다. Google Cloud 콘솔에서 Dataplex Universal Catalog, BigQuery Studio, Vertex AI를 사용하여 계보 그래프에 액세스할 수 있습니다.

가격 책정

Dataproc Hive 데이터 계보는 미리보기 중에 추가 비용 없이 제공됩니다. 표준 Dataproc 가격 책정이 적용됩니다.

시작하기 전에

  1. Google Cloud 콘솔의 프로젝트 선택기 페이지에서 계보를 추적할 Dataproc 클러스터가 포함된 프로젝트를 선택합니다.

    프로젝트 선택기로 이동

  2. Data Lineage API 및 Dataplex Universal Catalog API를 사용 설정합니다.

    API 사용 설정

필요한 역할

Dataproc에서 데이터 계보를 사용하는 데 필요한 권한을 얻으려면 관리자에게 Dataproc 클러스터 VM 서비스 계정에 대해 다음 IAM 역할을 부여해 달라고 요청하세요.

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

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

Hive 데이터 계보 사용 설정

클러스터에서 Hive 데이터 계보를 사용 설정하려면 Dataproc 클러스터를 만들hive-lineage.sh 초기화 작업을 지정합니다. 초기화 작업은 Cloud Storage의 리전별 버킷에 저장됩니다.

gcloud CLI 클러스터 만들기 예시:

gcloud dataproc clusters create CLUSTER_NAME \
    --project PROJECT_ID \
    --region REGION \
    --image-version IMAGE_VERSION \
    --initialization-actions gs://goog-dataproc-initialization-actions-REGION/hive-lineage/hive-lineage.sh

다음을 바꿉니다.

  • CLUSTER_NAME: 클러스터의 이름
  • PROJECT_ID: Google Cloud 프로젝트 ID. 프로젝트 ID는 Google Cloud 콘솔 대시보드프로젝트 정보 섹션에 나열됩니다.
  • REGION: 클러스터를 배치할 Compute Engine 리전
  • IMAGE_VERSION: 클러스터에 의도된 이미지 버전
  • --initialization-actions: Cloud Storage 리전 위치에 저장되어 있고 Hive 데이터 계보를 사용 설정하는 설치 작업을 지정합니다.
    • 선택적으로 Hive-BigQuery 커넥터 초기화 작업을 추가합니다. BigQuery 테이블을 Hive 워크로드와 통합하려면 클러스터에 Hive-BigQuery 커넥터를 설치해야 합니다. BigQuery에서 Hive 데이터 계보를 사용하는 예시를 참조하세요. 이 예시에서는 커넥터 초기화 작업을 실행하여 클러스터에 Hive-BigQuery 커넥터를 설치합니다.

Hive 작업 제출

Hive 데이터 계보가 사용 설정된 상태로 생성된 Dataproc 클러스터에 Hive 작업을 제출하면 Dataproc이 데이터 계보 정보를 캡처하고 Dataplex Universal Catalog에 보고합니다.

gcloud CLI Hive 작업 제출 예시:

gcloud dataproc jobs submit hive \
    --cluster=CLUSTER_NAME \
    --project PROJECT_ID \
    --region REGION \
    --properties=hive.openlineage.namespace=CUSTOM_NAMESPACE \
    --execute HIVE_QUERY

다음을 바꿉니다.

  • CLUSTER_NAME: 클러스터의 이름
  • PROJECT_ID: Google Cloud 프로젝트 ID. 프로젝트 ID는 Google Cloud 콘솔 대시보드프로젝트 정보 섹션에 나열됩니다.
  • REGION: 클러스터가 있는 Compute Engine 리전
  • CUSTOM_NAMESPACE: Hive 작업을 식별하기 위해 지정할 수 있는 선택적인 커스텀 Hive 네임스페이스
  • HIVE_QUERY: 클러스터에 제출할 Hive 쿼리. 쿼리를 지정하는 대신 --execute HIVE_QUERY 플래그를 --file SQL_FILE 플래그로 바꿔서 쿼리가 포함된 파일의 위치를 지정할 수 있습니다.

Dataplex Universal Catalog에서 계보 보기

계보 그래프에는 프로젝트 리소스와 이를 만든 프로세스 간의 관계가 표시됩니다. Google Cloud 콘솔에서 데이터 계보 정보를 보거나 JSON 데이터 형식으로 Data Lineage API에서 검색할 수 있습니다.

BigQuery에서 Hive 데이터 계보를 사용하는 예시

이 섹션의 예시는 다음 단계로 구성됩니다.

  1. Hive 데이터 계보가 사용 설정되었고 Hive-BigQuery 커넥터가 클러스터에 설치된 Dataproc 클러스터를 만듭니다.
  2. 클러스터에서 Hive 쿼리를 실행하여 Hive 테이블 간에 데이터를 복사합니다.
  3. BigQuery Studio에서 생성된 데이터 계보 그래프를 봅니다.

Dataproc 클러스터 만들기

로컬 터미널 창 또는 Cloud Shell에서 다음 명령어를 실행하여 Dataproc 클러스터를 만듭니다.

gcloud dataproc clusters create CLUSTER_NAME \
    --project PROJECT_ID \
    --region REGION \
    --image-version IMAGE_VERSION \
    --initialization-actions gs://goog-dataproc-initialization-actions-REGION/connectors/connectors.sh, gs://goog-dataproc-initialization-actions-REGION/hive-lineage/hive-lineage.sh \
    --metadata hive-bigquery-connector-version=HIVE_BQ_VERSION

참고:

Hive 쿼리 실행

Hive 쿼리를 실행하여 다음 작업을 수행합니다.

  • gs://cloud-samples-data/bigquery/hive-partitioning-samples/autolayout의 샘플 데이터 입력을 사용해서 us_states 외부 테이블을 만듭니다.
  • 지정된 BigQuery 데이터 세트에 us_states_copy 관리형 테이블을 만듭니다.
  • us_states에서 us_states_copy로 전체 데이터를 복사합니다.

쿼리를 실행하려면 다음 안내를 따르세요.

  1. 로컬 터미널 창 또는 Cloud Shell에서 vi 또는 nano와 같은 텍스트 편집기를 사용하여 다음 Hive 쿼리 문을 hive-example.sql 파일에 복사한 후 파일을 현재 디렉터리에 저장합니다.
  2. 이전에 생성된 Dataproc 클러스터에 hive-example.sql 파일을 제출합니다. 이때 --execute HIVE_QUERY 플래그는 --file SQL_FILE 플래그로 바꿔서 저장된 hive-example.sql 파일의 위치를 지정합니다. PROJECTBQ_DATASET 변수를 채워야 합니다.

Hive BigQueryStorageHandler

CREATE EXTERNAL TABLE us_states (
    name STRING,
    post_abbr STRING
)
STORED AS PARQUET
LOCATION 'gs://cloud-samples-data/bigquery/hive-partitioning-samples/autolayout';

CREATE TABLE us_states_copy (
    name STRING,
    post_abbr STRING
)
STORED BY 'com.google.cloud.hive.bigquery.connector.BigQueryStorageHandler'
TBLPROPERTIES (
  'bq.table'='PROJECT.BQ_DATASET.us_states_copy'
);

INSERT INTO us_states_copy SELECT * FROM us_states;

데이터 계보 그래프 보기

Hive 작업이 성공적으로 완료된 후 Google Cloud 콘솔에서 BigQuery Studio의 데이터 계보를 봅니다.

Hive 계보 그래프

BigQuery Studio에서 그래프 표시에 대한 자세한 내용은 BigQuery의 계보 보기를 참조하세요. 그래프를 이해하는 방법에 대한 자세한 내용은 데이터 계보 정보 모델을 참조하세요.

다음 단계