이 문서에서는 Dataproc Hive 작업에 대해 데이터 계보를 사용 설정하고 사용하는 방법을 보여줍니다.
클러스터를 만들 때 초기화 작업을 사용하여 Dataproc Hive 작업의 데이터 계보를 사용 설정합니다.
클러스터에서 Hive 데이터 계보를 사용 설정하면 클러스터에 제출하는 Hive 작업이 데이터 계보 이벤트를 캡처하고 이를 Dataplex Universal Catalog에 게시합니다.
계보 정보 시각화
데이터 계보 그래프에는 프로젝트 리소스와 이를 만든 프로세스 간의 관계가 표시됩니다. Google Cloud 콘솔에서 Dataplex Universal Catalog, BigQuery Studio, Vertex AI를 사용하여 계보 그래프에 액세스할 수 있습니다.
가격 책정
Dataproc Hive 데이터 계보는 미리보기 중에 추가 비용 없이 제공됩니다. 표준 Dataproc 가격 책정이 적용됩니다.
시작하기 전에
Google Cloud 콘솔의 프로젝트 선택기 페이지에서 계보를 추적할 Dataproc 클러스터가 포함된 프로젝트를 선택합니다.
Data Lineage API 및 Dataplex Universal Catalog API를 사용 설정합니다.
필요한 역할
Dataproc에서 데이터 계보를 사용하는 데 필요한 권한을 얻으려면 관리자에게 Dataproc 클러스터 VM 서비스 계정에 대해 다음 IAM 역할을 부여해 달라고 요청하세요.
-
Dataplex Universal Catalog에서 데이터 계보를 보거나 Data Lineage API 사용:
데이터 계보 뷰어 (
roles/datalineage.viewer
) -
API를 사용하여 수동으로 데이터 계보 생성:
데이터 계보 이벤트 생성자(
roles/datalineage.producer
) -
API를 사용하여 데이터 계보 수정:
데이터 계보 편집자(
roles/datalineage.editor
) -
데이터 계보에서 모든 작업 수행:
데이터 계보 관리자(
roles/datalineage.admin
)
역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.
커스텀 역할이나 다른 사전 정의된 역할을 통해 필요한 권한을 얻을 수도 있습니다.
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 데이터 계보를 사용하는 예시
이 섹션의 예시는 다음 단계로 구성됩니다.
- Hive 데이터 계보가 사용 설정되었고 Hive-BigQuery 커넥터가 클러스터에 설치된 Dataproc 클러스터를 만듭니다.
- 클러스터에서 Hive 쿼리를 실행하여 Hive 테이블 간에 데이터를 복사합니다.
- 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
참고:
- CLUSTER_NAME: 클러스터의 이름
- PROJECT_ID: Google Cloud 프로젝트 ID. 프로젝트 ID는 Google Cloud 콘솔 대시보드의 프로젝트 정보 섹션에 나열됩니다.
- REGION: 클러스터를 배치할 Compute Engine 리전
- IMAGE_VERSION: 클러스터에 의도된 이미지 버전
--initialization-actions
: Cloud Storage에 저장된 이러한 설치 작업은 Hive-BigQuery 커넥터를 설치하고 Hive 데이터 계보를 사용 설정합니다.- HIVE_BQ_VERSION: Hive-BigQuery 커넥터 버전을 지정합니다.
--metadata
플래그는 이 버전을connectors.sh
초기화 작업으로 전달하여 클러스터에 Hive-BigQuery 커넥터를 설치합니다.
Hive 쿼리 실행
Hive 쿼리를 실행하여 다음 작업을 수행합니다.
gs://cloud-samples-data/bigquery/hive-partitioning-samples/autolayout
의 샘플 데이터 입력을 사용해서us_states
외부 테이블을 만듭니다.- 지정된 BigQuery 데이터 세트에
us_states_copy
관리형 테이블을 만듭니다. us_states
에서us_states_copy
로 전체 데이터를 복사합니다.
쿼리를 실행하려면 다음 안내를 따르세요.
- 로컬 터미널 창 또는 Cloud Shell에서
vi
또는nano
와 같은 텍스트 편집기를 사용하여 다음 Hive 쿼리 문을hive-example.sql
파일에 복사한 후 파일을 현재 디렉터리에 저장합니다. - 이전에 생성된 Dataproc 클러스터에
hive-example.sql
파일을 제출합니다. 이때--execute HIVE_QUERY
플래그는--file SQL_FILE
플래그로 바꿔서 저장된hive-example.sql
파일의 위치를 지정합니다. PROJECT 및 BQ_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의 데이터 계보를 봅니다.
BigQuery Studio에서 그래프 표시에 대한 자세한 내용은 BigQuery의 계보 보기를 참조하세요. 그래프를 이해하는 방법에 대한 자세한 내용은 데이터 계보 정보 모델을 참조하세요.
다음 단계
- 데이터 계보 자세히 알아보기