메타데이터 내보내기 작업을 실행하여 외부 시스템에서 사용할 수 있도록 Dataplex Universal Catalog에서 메타데이터를 내보낼 수 있습니다.
다음과 같은 경우 메타데이터를 내보낼 수 있습니다.
- 다른 데이터 분석 도구 또는 BigQuery를 사용하여 메타데이터 쿼리 및 분석
- 나중에 Dataplex Universal Catalog로 다시 가져올 수 있는 대량의 메타데이터를 프로그래매틱 방식으로 처리
- 커스텀 애플리케이션이나 서드 파티 도구에 메타데이터 통합
메타데이터 내보내기 작업은 Dataplex Universal Catalog 메타데이터 스냅샷을 내보냅니다. Dataplex Universal Catalog 메타데이터는 항목과 해당 항목 관점으로 구성됩니다. 이 페이지의 단계에서는 개발자가 항목 그룹, 항목 유형, 관점 유형을 포함하여 Dataplex Universal Catalog 메타데이터 개념에 익숙하다고 가정합니다.
작업 범위
작업 범위는 내보낼 메타데이터를 정의합니다. 메타데이터 내보내기 작업마다 다음 작업 범위 중 하나를 제공해야 합니다.
- 조직: 조직에 속한 메타데이터를 내보냅니다.
- 프로젝트: 지정된 프로젝트에 속하는 메타데이터를 내보냅니다.
- 항목 그룹: 지정된 항목 그룹에 속하는 메타데이터를 내보냅니다.
작업에 포함할 항목 유형이나 관점 유형을 지정하여 범위를 추가로 제한할 수 있습니다. 작업은 이러한 항목 유형과 관점 유형에 속하는 항목과 관점만 내보냅니다.
VPC 서비스 제어
Dataplex Universal Catalog는 VPC 서비스 제어를 사용하여 메타데이터 내보내기 작업에 대한 보안을 강화합니다. 작업이 속한 프로젝트에 따라 다음과 같이 VPC 서비스 제어 경계가 결정됩니다.
- 작업 범위를 조직 수준으로 설정하면 결과는 다음과 같습니다.
- 내보내기 범위는 작업이 속한 조직입니다.
- VPC 서비스 제어 경계 내에 있는 항목만 내보냅니다.
- 작업 조직 내에 있지만 VPC 서비스 제어 경계 외부에 있는 프로젝트는 제외됩니다.
- 작업 범위를 프로젝트나 항목 그룹으로 설정하는 경우 프로젝트나 항목 그룹이 작업과 동일한 VPC 서비스 제어 경계에 있어야 합니다. 프로젝트나 항목 그룹이 VPC 서비스 제어 규칙을 위반하면 작업이 실패합니다.
시작하기 전에
메타데이터를 내보내기 전에 이 섹션의 태스크를 완료합니다.
최종 사용자에게 필요한 역할
메타데이터 내보내기 작업을 관리하는 데 필요한 권한을 얻으려면 관리자에게 다음 IAM 역할을 부여해 달라고 요청하세요.
-
메타데이터 내보내기 작업 만들기:
-
내보낼 조직, 프로젝트 또는 항목 그룹에 대한 Dataplex 항목 그룹 내보내기 작업자(
roles/dataplex.entryGroupExporter) -
메타데이터 작업을 실행하는 프로젝트에 대한 Dataplex 메타데이터 작업 소유자(
roles/dataplex.metadataJobOwner)
-
내보낼 조직, 프로젝트 또는 항목 그룹에 대한 Dataplex 항목 그룹 내보내기 작업자(
-
내보낸 결과에 액세스: 프로젝트 또는 버킷에 대한 스토리지 객체 뷰어(
roles/storage.objectViewer) -
메타데이터 작업 보기: 프로젝트에 대한 Dataplex 메타데이터 작업 뷰어(
roles/dataplex.metadataJobViewer)
역할 부여 방법에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.
이러한 사전 정의된 역할에는 메타데이터 내보내기 작업을 관리하는 데 필요한 권한이 포함되어 있습니다. 필수 권한 섹션을 펼치면 필요한 권한을 정확하게 확인할 수 있습니다.
필수 권한
메타데이터 내보내기 작업을 관리하려면 다음 권한이 필요합니다.
-
메타데이터 내보내기:
-
dataplex.metadataJobs.create -
dataplex.entryGroups.export -
dataplex.entryGroups.get -
resourcemanager.projects.get -
resourcemanager.projects.list
-
-
내보낸 결과에 액세스:
storage.objects.get
커스텀 역할이나 다른 사전 정의된 역할을 사용하여 이 권한을 부여받을 수도 있습니다.
Dataplex Universal Catalog 서비스 계정에 필요한 역할
Cloud Storage 버킷에 액세스하는 데 필요한 권한이 Dataplex Universal Catalog 서비스 계정에 있게 하려면 관리자에게 버킷에 대한 storage.buckets.get, storage.objects.get, storage.objects.create 권한을 Dataplex Universal Catalog 서비스 계정에 부여해 달라고 요청하세요.
Google Cloud 리소스 구성
Google Cloud CLI를 설치합니다. 설치 후 다음 명령어를 실행하여 Google Cloud CLI를 초기화합니다.
gcloud init외부 ID 공급업체(IdP)를 사용하는 경우 먼저 제휴 ID로 gcloud CLI에 로그인해야 합니다.
내보낸 결과를 저장할 Cloud Storage 버킷을 만듭니다.
버킷은 메타데이터 작업과 동일한 위치와 VPC 서비스 제어 경계에 있어야 합니다.
메타데이터 내보내기 작업 실행
다음 섹션에서는 다양한 작업 범위로 메타데이터를 내보내는 방법을 설명합니다.
조직에서 메타데이터 내보내기
조직에서 메타데이터를 내보내려면 metadataJobs.create 메서드를 사용하고 organizationLevel 불리언을 true로 설정합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
JOB_PROJECT: 메타데이터 작업을 실행할 Google Cloud프로젝트. 프로젝트 번호나 프로젝트 ID를 입력합니다.LOCATION_ID: Google Cloud 위치(예:us-central1)METADATA_JOB_ID: (선택사항) 메타데이터 작업 IDBUCKET: 메타데이터를 내보낼 Cloud Storage 버킷원하는 경우 버킷 이름 뒤에
gs://BUCKET/PREFIX/형식의 커스텀 프리픽스를 포함할 수 있습니다. 커스텀 프리픽스 최대 길이는 128자(영문 기준)입니다.
HTTP 메서드 및 URL:
POST https://dataplex.googleapis.com/v1/projects/JOB_PROJECT/locations/LOCATION_ID/metadataJobs?metadataJobId=METADATA_JOB_ID
JSON 요청 본문:
{
"type": "EXPORT",
"export_spec": {
"output_path": "gs://BUCKET/",
"scope": {
"organizationLevel": true,
},
}
}
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
응답은 장기 실행 작업을 식별합니다. 내보낸 메타데이터는 Cloud Storage 버킷에 저장됩니다.
특정 프로젝트에서 메타데이터 내보내기
프로젝트 하나 이상에서 메타데이터를 내보내려면 metadataJobs.create 메서드를 사용하고 프로젝트 목록을 제공합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
JOB_PROJECT: 메타데이터 작업을 실행할 Google Cloud프로젝트. 프로젝트 번호나 프로젝트 ID를 입력합니다.LOCATION_ID: Google Cloud 위치(예:us-central1)METADATA_JOB_ID: (선택사항) 메타데이터 작업 IDBUCKET: 메타데이터를 내보낼 Cloud Storage 버킷원하는 경우 버킷 이름 뒤에
gs://BUCKET/PREFIX/형식의 커스텀 프리픽스를 포함할 수 있습니다. 커스텀 프리픽스 최대 길이는 128자(영문 기준)입니다.METADATA_SOURCE_PROJECT: 내보내려는 메타데이터가 있는 프로젝트. 프로젝트 번호나 프로젝트 ID를 입력합니다. 프로젝트는 메타데이터 작업과 동일한 조직과 VPC 서비스 제어 경계에 있어야 합니다.
HTTP 메서드 및 URL:
POST https://dataplex.googleapis.com/v1/projects/JOB_PROJECT/locations/LOCATION_ID/metadataJobs?metadataJobId=METADATA_JOB_ID
JSON 요청 본문:
{
"type": "EXPORT",
"export_spec": {
"output_path": "gs://BUCKET/",
"scope": {
"projects": [
"projects/METADATA_SOURCE_PROJECT",
# Additional projects
],
},
}
}
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
응답은 장기 실행 작업을 식별합니다. 내보낸 메타데이터는 Cloud Storage 버킷에 저장됩니다.
특정 항목 그룹에서 메타데이터 내보내기
특정 항목 그룹에서 메타데이터를 내보내려면 metadataJobs.create 메서드를 사용하고 항목 그룹 목록을 제공합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
JOB_PROJECT: 메타데이터 작업을 실행할 Google Cloud프로젝트. 프로젝트 번호나 프로젝트 ID를 입력합니다.LOCATION_ID: Google Cloud 위치(예:us-central1)METADATA_JOB_ID: (선택사항) 메타데이터 작업 IDBUCKET: 메타데이터를 내보낼 Cloud Storage 버킷원하는 경우 버킷 이름 뒤에
gs://BUCKET/PREFIX/형식의 커스텀 프리픽스를 포함할 수 있습니다. 커스텀 프리픽스 최대 길이는 128자(영문 기준)입니다.ENTRY_GROUP: 작업 범위 내에 있는 항목 그룹의 상대적 리소스 이름(projects/PROJECT_ID_OR_NUMBER/locations/LOCATION_ID/entryGroups/ENTRY_GROUP_ID형식). 항목 그룹은 메타데이터 작업과 동일한 프로젝트에 있어야 합니다.
HTTP 메서드 및 URL:
POST https://dataplex.googleapis.com/v1/projects/JOB_PROJECT/locations/LOCATION_ID/metadataJobs?metadataJobId=METADATA_JOB_ID
JSON 요청 본문:
{
"type": "EXPORT",
"export_spec": {
"output_path": "gs://BUCKET/",
"scope": {
"entryGroups": [
"ENTRY_GROUP",
# Additional entry groups
],
},
}
}
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
응답은 장기 실행 작업을 식별합니다. 내보낸 메타데이터는 Cloud Storage 버킷에 저장됩니다.
특정 항목 유형 또는 관점 유형에서 메타데이터 내보내기
특정 항목 유형이나 관점 유형에서 메타데이터를 내보내려면 다음 예시와 같이 조직 수준 등에서 기본 작업 범위를 설정합니다. 그런 다음 항목 유형, 관점 유형 또는 둘 다의 목록을 제공합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
ENTRY_TYPE: (선택사항) 작업 범위 내에 있는 항목 유형의 상대적 리소스 이름(projects/PROJECT_ID_OR_NUMBER/locations/LOCATION_ID/entryTypes/ENTRY_TYPE_ID형식)ASPECT_TYPE: (선택사항) 작업 범위 내에 있는 관점 유형의 상대적 리소스 이름(projects/PROJECT_ID_OR_NUMBER/locations/LOCATION_ID/aspectTypes/ASPECT_TYPE_ID형식)
HTTP 메서드 및 URL:
POST https://dataplex.googleapis.com/v1/projects/JOB_PROJECT/locations/LOCATION_ID/metadataJobs?metadataJobId=METADATA_JOB_ID
JSON 요청 본문:
{
"type": "EXPORT",
"export_spec": {
"output_path": "gs://BUCKET/",
"scope": {
"organizationLevel": true,
"entry_types": [
"ENTRY_TYPE",
# Additional entry types
],
"aspect_types": [
"ASPECT_TYPE",
# Additional aspect types
]
},
}
}
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
응답은 장기 실행 작업을 식별합니다. 내보낸 메타데이터는 Cloud Storage 버킷에 저장됩니다.
메타데이터 작업 세부정보 확인
작업 상태 및 내보낸 항목 수와 같은 메타데이터 작업 정보를 확인하려면 metadataJobs.get 메서드를 사용합니다.
메타데이터 내보내기 결과
메타데이터 내보내기 작업은 메타데이터 작업이 생성된 시점의 Dataplex Universal Catalog 메타데이터 스냅샷을 내보냅니다.
내보내기 파일 콘텐츠
출력 파일 콘텐츠는 메타데이터 가져오기 작업에 사용되는 메타데이터 가져오기 파일과 같은 형식을 따릅니다. 출력 파일을 메타데이터 가져오기 작업 입력으로 직접 사용할 수 있습니다.
내보내기 파일 위치
Dataplex Universal Catalog는 내보내기 결과 파일을 Cloud Storage 버킷에 객체로 저장합니다.
내보내기 작업에 지정한 버킷 이름과 커스텀 프리픽스를 사용한 후 시스템 생성 경로를 추가하여 각 출력 파일의 객체 경로를 구성합니다. 시스템 생성 경로는 BigQuery와 통합되도록 설계되었습니다. 객체 경로는 다음 형식을 사용합니다.
gs://BUCKET/PREFIX/year=YYYY/month=MM/day=DD/consumer_project=JOB_PROJECT/job=METADATA_JOB_ID/project=METADATA_SOURCE_PROJECT/entry_group=ENTRY_GROUP/FILE_NUMBER.jsonl
다음에 유의하세요.
- 시스템 생성 경로는 내보내기 작업 생성일의 표준 Hive 파티션 형식으로 시작됩니다. 이 형식은 BigQuery에서 지원됩니다. 자세한 내용은 외부에서 파티션을 나눈 데이터 로드를 참조하세요.
consumer_project파라미터는 메타데이터 내보내기 작업을 실행하는 프로젝트입니다.project파라미터는 내보내는 메타데이터가 포함된 프로젝트입니다.- 이전 작업이 삭제되면 메타데이터 작업 ID를 재사용할 수 있습니다. 하지만 작업을 삭제해도 해당 작업에서 내보낸 파일은 삭제되지 않습니다. 즉, 삭제된 작업 ID를 재사용하면 출력 파일 경로에 중복된 작업 ID가 표시될 수 있습니다.
각 출력 파일 이름은 파일 번호로 지정되며 파일 번호는
1부터 시작하는 정수입니다.메타데이터 내보내기 작업에 다수의 항목이 포함된 경우 작업에서 각 출력 파일 크기를 제한하기 위해 결과를 파일 여러 개로 분할합니다. 각 출력 파일의 최대 항목 수는 1,000,000개입니다.
출력 파일 예시
다음은 프로젝트가 여러 개 포함된 메타데이터 내보내기 작업의 출력 파일 예시입니다.
gs://export-bucket/example-folder/year=2025/month=04/day=13/consumer_project=admin-project/job=example-job/project=metadata-project-1/entrygroup=entry-group-1/1.jsonl gs://export-bucket/example-folder/year=2025/month=04/day=13/consumer_project=admin-project/job=example-job/project=metadata-project-2/entrygroup=entry-group-1/1.jsonl gs://export-bucket/example-folder/year=2025/month=04/day=13/consumer_project=admin-project/job=example-job/project=metadata-project-3/entrygroup=entry-group-2/1.jsonl
다음은 큰 항목 그룹이 포함된 메타데이터 내보내기 작업의 출력 파일 예시입니다. 항목 그룹 결과가 파일 여러 개로 분할되었습니다.
gs://export-bucket/example-folder/year=2025/month=04/day=13/consumer_project=admin-project/job=another-example-job/project=example-metadata-project/entrygroup=big-entry-group/1.jsonl gs://export-bucket/example-folder/year=2025/month=04/day=13/consumer_project=admin-project/job=another-example-job/project=example-metadata-project/entrygroup=big-entry-group/2.jsonl
BigQuery에서 내보낸 메타데이터 분석
내보낸 메타데이터를 BigQuery에서 분석하려면 내보낸 메타데이터의 외부 테이블을 만들면 됩니다. 외부 테이블을 만들면 데이터를 추가로 로드하거나 변환하지 않고도 내보낸 데이터를 쿼리할 수 있습니다. 예를 들어 항목 그룹별로 항목 수를 집계하거나 특정 관점이 있는 항목을 찾거나 BigQuery에서 추가 분석을 수행할 수 있습니다.
다음을 수행합니다.
Hive 파티션을 나눈 데이터에 사용할 외부 테이블을 만듭니다. 다음 정보를 입력합니다.
- Cloud Storage 버킷에서 파일 선택: 내보낸 메타데이터 파일이 포함된 Cloud Storage 폴더의 경로를 입력합니다. 버킷의 모든 파일을 포함하려면 별표(
*) 와일드 카드를 사용합니다. 예를 들면gs://export-bucket/example-folder/*입니다. - 파일 형식: JSONL(줄바꿈으로 구분되는 JSON)을 선택합니다.
- 소스 데이터 파티션 나누기 체크박스를 선택한 후 소스 URI 프리픽스 선택에 BigQuery 테이블의 Cloud Storage URI 프리픽스를 입력하여 파티션을 정의합니다. 예를 들면
gs://export-bucket/example-folder/입니다. - 파티션 추론 모드: 유형 자동 추론 옵션을 선택합니다.
- 테이블 유형: 외부 테이블 옵션을 선택합니다.
스키마: 텍스트로 편집 전환 버튼을 클릭한 후 다음과 같은 내보내기 파일 스키마 정의를 입력합니다.
[ { "name": "entry", "type": "RECORD", "mode": "NULLABLE", "fields": [ { "mode": "NULLABLE", "name": "name", "type": "STRING" }, { "mode": "NULLABLE", "name": "entryType", "type": "STRING" }, { "mode": "NULLABLE", "name": "createTime", "type": "STRING" }, { "mode": "NULLABLE", "name": "updateTime", "type": "STRING" }, { "mode": "NULLABLE", "name": "aspects", "type": "JSON" }, { "mode": "NULLABLE", "name": "parentEntry", "type": "STRING" }, { "mode": "NULLABLE", "name": "fullyQualifiedName", "type": "STRING" }, { "mode": "NULLABLE", "name": "entrySource", "type": "RECORD", "fields": [ { "mode": "NULLABLE", "name": "resource", "type": "STRING" }, { "mode": "NULLABLE", "name": "system", "type": "STRING" }, { "mode": "NULLABLE", "name": "platform", "type": "STRING" }, { "mode": "NULLABLE", "name": "displayName", "type": "STRING" }, { "mode": "NULLABLE", "name": "description", "type": "STRING" }, { "mode": "NULLABLE", "name": "labels", "type": "JSON" }, { "mode": "REPEATED", "name": "ancestors", "type": "RECORD", "fields": [ { "mode": "NULLABLE", "name": "name", "type": "STRING" }, { "mode": "NULLABLE", "name": "type", "type": "STRING" } ] }, { "mode": "NULLABLE", "name": "createTime", "type": "STRING" }, { "mode": "NULLABLE", "name": "updateTime", "type": "STRING" }, { "mode": "NULLABLE", "name": "location", "type": "STRING" } ] } ] } ]
- Cloud Storage 버킷에서 파일 선택: 내보낸 메타데이터 파일이 포함된 Cloud Storage 폴더의 경로를 입력합니다. 버킷의 모든 파일을 포함하려면 별표(
BigQuery는 내보낸 메타데이터가 포함된 외부 테이블을 만듭니다. 테이블의 스키마에는 entry 스키마 열이 포함되며 이 열의 각 행은 항목 하나를 나타냅니다. 항목 필드에 대한 자세한 내용은 ImportItem을 참조하세요.
이 문서의 내보내기 파일 위치 섹션의 설명대로 테이블 스키마에는 내보내기 파일 파티션도 포함됩니다.
외부 테이블을 만든 후 GoogleSQL 구문을 사용하여 테이블을 쿼리할 수 있습니다. 예를 들어 내보낸 항목 유형을 쿼리하려면 다음 문을 사용합니다.
SELECT entry.entryType FROM `example-project.example-dataset.example-table` LIMIT 1000
다음 단계
- GoogleSQL 구문을 사용하여 BigQuery 테이블을 쿼리하는 방법 알아보기
- 관리형 연결 파이프라인을 사용하여 Dataplex Universal Catalog로 메타데이터 가져오기