이 문서에서는 Data Catalog 메타데이터를 지원하는 비즈니스 용어집 프리뷰 버전에서 Dataplex Universal Catalog 메타데이터를 지원하는 비즈니스 용어집 정식 버전으로 마이그레이션하는 방법을 설명합니다. 전환 프로세스에는 Data Catalog에서 용어집, 카테고리, 용어, 링크를 내보낸 후 Dataplex Universal Catalog로 가져오는 작업이 포함됩니다.
Dataplex Universal Catalog의 비즈니스 용어집으로 수동으로 전환하려면 다음 단계를 수행합니다.
- Data Catalog에서 용어집과 항목 링크를 내보냅니다.
- 용어집, 카테고리, 용어를 Dataplex Universal Catalog로 가져옵니다.
- 용어 간 링크를 Dataplex Universal Catalog로 가져옵니다.
- 용어와 열 간의 링크를 Dataplex Universal Catalog로 가져옵니다.
시작하기 전에
Data Catalog의 용어집에서 내보내기를 사용 설정하려면 이 양식을 사용하여 가입하세요.
gcloud 또는 Python 패키지를 설치합니다.
필요한 역할
Data Catalog에서 용어를 내보내려면 용어가 있는 프로젝트에 대한 roles/datacatalog.glossaryOwner 역할이 있어야 합니다. 이 역할에 필요한 권한을 참조하세요.
비즈니스 용어집을 Dataplex Universal Catalog로 가져오는 데 필요한 권한을 얻으려면 관리자에게 프로젝트에 대한 Dataplex 관리자(roles/dataplex.admin) IAM 역할을 부여해 달라고 요청하세요.
역할 부여에 대한 상세 설명은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.
이 사전 정의된 역할에는 비즈니스 용어집을 Dataplex Universal Catalog로 가져오는 데 필요한 권한이 포함되어 있습니다. 필수 권한 섹션을 펼치면 필요한 권한을 정확하게 확인할 수 있습니다.
필수 권한
비즈니스 용어집을 Dataplex Universal Catalog로 가져오려면 다음 권한이 필요합니다.
-
용어집 리소스에 대한
dataplex.glossaries.import권한 -
entry_groups필드에 제공된 Dataplex Universal Catalog 항목 그룹과 용어집 용어에 연결된 Data Catalog 항목이 있는 항목 그룹에 대한dataplex.entryGroups.import권한 -
entry_groups필드에 제공된 Dataplex Universal Catalog 항목 그룹과 용어집 용어에 연결된 Data Catalog 항목이 있는 항목 그룹에 대한dataplex.entryGroups.useSynonymEntryLink권한 -
entry_groups필드에 제공된 Dataplex Universal Catalog 항목 그룹과 용어집 용어에 연결된 Data Catalog 항목이 있는 항목 그룹에 대한dataplex.entryGroups.useRelatedEntryLink권한 -
referenced_entry_scopes필드에 제공된 모든 프로젝트에 대한dataplex.entryLinks.reference권한
커스텀 역할이나 다른 사전 정의된 역할을 사용하여 이 권한을 부여받을 수도 있습니다.
Data Catalog에서 용어집, 카테고리, 용어 내보내기
한 번에 용어집 하나만 내보낼 수 있습니다.
dataplex-labs 저장소를 클론한 후 디렉터리를
business-glossary-import하위 디렉터리로 변경합니다.git clone https://github.com/GoogleCloudPlatform/dataplex-labs.git cd dataplex-labs cd dataplex-quickstart-labs/00-resources/scripts/python/business-glossary-import액세스 토큰을 가져옵니다.
export GCLOUD_ACCESS_TOKEN=$(gcloud auth print-access-token)내보내기 스크립트를 실행합니다.
python3 bg_import/business_glossary_export_v2.py \ --user-project="PROJECT_ID" \ --url="DATA_CATALOG_GLOSSARY_URL"
다음을 바꿉니다.
PROJECT_ID: 용어집이 포함된 프로젝트의 IDDATA_CATALOG_GLOSSARY_URL: Google Cloud 콘솔에 있는 Data Catalog 비즈니스 용어집의 URL
스크립트는 메타데이터 가져오기 작업에 사용되는 메타데이터 가져오기 파일과 동일한 형식을 따르는 JSON 파일을 만듭니다. 용어집, 카테고리, 용어의 이름은 다음 형식을 사용합니다.
- 용어집:
projects/PROJECT_ID/locations/LOCATION_ID/entryGroups/@dataplex/entries/projects/{PROJECT_ID{"</var>"}}/locations/LOCATION_ID/glossaries/GLOSSARY_ID - 용어:
projects/PROJECT_ID/locations/LOCATION_ID/entryGroups/@dataplex/entries/projects/PROJECT_ID/locations/LOCATION_ID/glossaries/GLOSSARY_ID/terms/TERM_ID - 카테고리:
projects/PROJECT_ID/locations/LOCATION_ID/entryGroups/@dataplex/entries/projects/PROJECT_ID/locations/LOCATION_ID/glossaries/GLOSSARY_ID/categories/CATEGORY_ID
GLOSSARY_ID,CATEGORY_ID,TERM_ID,PROJECT_ID,LOCATION_ID는 Data Catalog 용어집의 값과 동일합니다.
결과
다음 목록에서는 결과와 관련하여 주의해야 할 사항을 설명합니다.
용어집, 해당 카테고리, 용어를 전역 위치에 내보내므로 용어를 모든 리전의 항목에 연결할 수 있습니다.
내보낸 파일은
dataplex-quickstart-labs/00-resources/scripts/python/business-glossary-import의Exported_Files폴더에 있습니다. 파일 이름은glossary_GLOSSARY_ID.json입니다.내보내기 명령어가 전역 위치에서 같은 GLOSSARY_ID 및
PROJECT_ID를 사용하여 Dataplex Universal Catalog에 용어집을 자동으로 만듭니다.스크립트는 동의어와 용어 간 관련 링크가 포함된 JSON 파일을 만듭니다. 내보낸 파일은
dataplex-quickstart-labs/00-resources/scripts/python/business-glossary-import의 Exported_Files 폴더에 있습니다. 파일 이름은entrylinks_related_synonym_GLOSSARY_ID.json입니다.내보낸 링크는
dataplex-quickstart-labs/00-resources/scripts/python/business-glossary-import의Exported_Files폴더에 있습니다.용어집의 용어는 여러 항목 그룹의 항목 여러 개에 연결될 수 있습니다. 용어와 열 간의 링크를 내보내면 각
entryGroup의 파일이 생성됩니다. 파일 이름 형식은entrylinks_definition_export_GLOSSARY_ID_ENTRY_PROJECT_ID_ENTRY_LOCATION_ID_ENTRY_GROUP_ID.json입니다.용어집, 카테고리, 용어를 가져오는 데 필요한 용어집 ID는 내보내기 스크립트가 실행된 후에 표시됩니다.
용어집, 카테고리, 용어 가져오기
이전 단계에서 내보낸 Dataplex Universal Catalog 용어집, 카테고리, 용어를 가져와야 합니다. 이 섹션에서는 메타데이터 작업 API를 사용하여 가져오는 방법을 설명합니다.
Dataplex Universal Catalog 서비스 계정에 Cloud Storage 버킷에 대한 읽기 액세스 권한을 부여합니다.
메타데이터 가져오기 작업을 실행하여 용어집을 가져옵니다.
# Set GCURL alias alias gcurl='curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json"'
# Import CURL Command gcurl "https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/global/metadataJobs\?metadata_job_id=JOB_ID" -X POST -H "Content-Type: application/json" -d "$(cat<<EOF { "type":"IMPORT", "import_spec":{ "log_level": "DEBUG", "source_storage_uri": "gs://STORAGE_BUCKET/", "entry_sync_mode": "FULL", "aspect_sync_mode": "INCREMENTAL", "scope": { "glossaries": ["projects/PROJECT_ID/locations/global/glossaries/GLOSSARY_ID"] } } } EOF )"
다음을 바꿉니다.
JOB_ID: (선택사항) 메타데이터 가져오기 작업 ID. 작업 상태를 추적하는 데 이 ID를 사용할 수 있습니다. ID를 제공하지 않으면 gcurl 명령어에서 고유 ID를 생성합니다.STORAGE_BUCKET: 내보낸 용어집 파일이 포함된 Cloud Storage 버킷이나 폴더의 URIPROJECT_ID: 용어집이 포함된 프로젝트 번호
(선택사항) 메타데이터 가져오기 작업 상태를 추적하려면
metadataJobs.get메서드를 사용합니다.gcurl -X GET https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/global/metadataJobs/JOB_ID
메타데이터 가져오기 작업에서 오류가 발생하면 로그에 표시됩니다.
용어 간 링크를 Dataplex Universal Catalog로 가져오기
이전 단계에서 내보낸 용어 간 링크를 가져와야 합니다. 이 섹션에서는 메타데이터 작업 API를 사용하여 가져오는 방법을 설명합니다.
새 Cloud Storage 버킷을 만든 후 이전 단계에서 내보낸 항목 링크 파일을 버킷에 업로드합니다.
Dataplex Universal Catalog 서비스 계정에 Cloud Storage 버킷에 대한 읽기 액세스 권한을 부여합니다.
메타데이터 가져오기 작업을 실행하여 항목 링크를 가져옵니다.
# Import CURL Command gcurl "https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/global/metadataJobs?metadata_job_id=JOB_ID" -X POST -H "Content-Type: application/json" -d "$(cat<<EOF { "type": "IMPORT", "import_spec": { "log_level": "DEBUG", "source_storage_uri": "gs://STORAGE_BUCKET/", "entry_sync_mode": "FULL", "aspect_sync_mode": "INCREMENTAL", "scope": { "entry_groups": ["projects/GLOSSARY_PROJECT_ID/locations/global/entryGroups/@dataplex"], "entry_link_types": [ "projects/dataplex-types/locations/global/entryLinkTypes/synonym", "projects/dataplex-types/locations/global/entryLinkTypes/related" ], "referenced_entry_scopes": ["projects/GLOSSARY_PROJECT_ID","projects/LINKED_GLOSSARY_PROJECT_ID_1","projects/LINKED_GLOSSARY_PROJECT_ID_2"] } } } EOF )"
다음을 바꿉니다.
GLOSSARY_PROJECT_ID: 용어집이 포함된 프로젝트의 ID- (선택사항)
LINKED_GLOSSARY_PROJECT_ID_1: 용어가 서로 다른 프로젝트의 용어집 간에 연결된 경우 프로젝트 ID를 입력합니다. - (선택사항)
LINKED_GLOSSARY_PROJECT_ID_2: 용어가 서로 다른 프로젝트의 용어집 간에 연결된 경우 프로젝트 ID를 입력합니다.
다음에 유의하세요.
entry_groups객체에는 항목 링크가 생성되는 항목 그룹이 포함됩니다. 용어집과 동일한 프로젝트와 위치에 있는@dataplex시스템 항목 그룹입니다.entry_link_types객체를 사용하면 동의어, 관련 용어 또는 둘 다 가져올 수 있습니다.- 동의어:
projects/dataplex-types/locations/global/entryLinkTypes/synonym - 관련 용어:
projects/dataplex-types/locations/global/entryLinkTypes/related
- 동의어:
referenced_entry_scopes객체에는 서로 다른 용어집의 용어를 연결하는 항목 링크의 프로젝트 ID가 포함됩니다.
용어와 열 간의 링크 가져오기
이전 단계에서 내보낸 용어와 열 간의 링크를 가져와야 합니다. 이 섹션에서는 메타데이터 작업 API를 사용하여 가져오는 방법을 설명합니다.
이전 단계에서 내보낸 각 파일을 Cloud Storage 버킷에 업로드합니다.
Cloud Storage 버킷에 업로드된 파일마다 별도의 가져오기 명령어를 실행합니다. 각 파일은 해당 항목 그룹의 용어와 열 간의 링크가 포함된 고유한 항목 그룹에 해당합니다.
gcurl "https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/ENTRY_GROUP_LOCATION_ID/metadataJobs?metadata_job_id=JOB_ID" -X POST -H "Content-Type: application/json" -d "$(cat<<EOF { "type": "IMPORT", "import_spec": { "log_level": "DEBUG", "source_storage_uri": "gs://STORAGE_BUCKET/", "entry_sync_mode": "FULL", "aspect_sync_mode": "INCREMENTAL", "scope": { "entry_groups": ["projects/ENTRY_GROUP_PROJECT_ID/locations/ENTRY_GROUP_LOCATION_ID/entryGroups/ENTRY_GROUP_ID"], "entry_link_types": ["projects/dataplex-types/locations/global/entryLinkTypes/definition"], "referenced_entry_scopes": ["projects/ENTRY_GROUP_PROJECT_ID", "projects/GLOSSARY_PROJECT_ID"] } } } EOF )"