En este documento se proporcionan instrucciones para migrar de la versión preliminar del glosario empresarial, que admitía metadatos de Data Catalog, a la versión disponible del glosario empresarial, que admite metadatos de Dataplex Universal Catalog. El proceso de transición incluye la exportación de glosarios, categorías, términos y enlaces de Data Catalog, y su posterior importación a Dataplex Universal Catalog.
Para cambiar manualmente al glosario de empresa en Dataplex Universal Catalog, sigue estos pasos:
- Exportar glosarios y enlaces de entradas de Data Catalog.
- Importa glosarios, categorías y términos a Dataplex Universal Catalog.
- Importa las vinculaciones entre términos a Dataplex Universal Catalog.
- Importa las vinculaciones entre términos y columnas a Dataplex Universal Catalog.
Antes de empezar
Para habilitar la exportación de glosarios en Data Catalog, regístrate mediante este formulario.
Instala gcloud o paquetes de Python.
Roles obligatorios
Para exportar un glosario de Data Catalog, debes tener el rol roles/datacatalog.glossaryOwner en los proyectos en los que esté presente el glosario. Consulta los permisos necesarios para este rol.
Para obtener los permisos que necesitas para importar el glosario de empresa a Dataplex Universal Catalog, pide a tu administrador que te conceda el rol de gestión de identidades y accesos Administrador de Dataplex (roles/dataplex.admin) en los proyectos.
Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar acceso a proyectos, carpetas y organizaciones.
Este rol predefinido contiene los permisos necesarios para importar el glosario empresarial a Dataplex Universal Catalog. Para ver los permisos exactos que se necesitan, despliega la sección Permisos necesarios:
Permisos obligatorios
Para importar un glosario de empresa a Dataplex Universal Catalog, se necesitan los siguientes permisos:
-
dataplex.glossaries.importen el recurso del glosario -
dataplex.entryGroups.importen el grupo de entradas de Dataplex Universal Catalog proporcionado en el campoentry_groupsy en los grupos de entradas en los que se encuentran las entradas de Data Catalog vinculadas a los términos del glosario. -
dataplex.entryGroups.useSynonymEntryLinken el grupo de entradas de Dataplex Universal Catalog proporcionado en el campoentry_groupsy en los grupos de entradas en los que se encuentran las entradas de Data Catalog vinculadas a los términos del glosario. -
dataplex.entryGroups.useRelatedEntryLinken el grupo de entradas de Dataplex Universal Catalog proporcionado en el campoentry_groupsy en los grupos de entradas en los que se encuentran las entradas de Data Catalog vinculadas a los términos del glosario. -
dataplex.entryLinks.referenceen todos los proyectos proporcionados en el camporeferenced_entry_scopes
También puedes obtener estos permisos con roles personalizados u otros roles predefinidos.
Exportar glosarios, categorías y términos de Data Catalog
Solo puedes exportar un glosario a la vez.
Clona el repositorio dataplex-labs y, a continuación, cambia al subdirectorio
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-importObtén tu token de acceso:
export GCLOUD_ACCESS_TOKEN=$(gcloud auth print-access-token)Ejecuta la secuencia de comandos de exportación:
python3 bg_import/business_glossary_export_v2.py \ --user-project="PROJECT_ID" \ --url="DATA_CATALOG_GLOSSARY_URL"
Haz los cambios siguientes:
PROJECT_ID: el ID del proyecto que contiene la glosario.DATA_CATALOG_GLOSSARY_URL: URL del glosario de empresa de Data Catalog en la consola de Google Cloud .
La secuencia de comandos crea un archivo JSON con el mismo formato que el archivo de importación de metadatos que se usa en los trabajos de importación de metadatos. Los nombres del glosario, las categorías y los términos utilizan los siguientes formatos:
- Glosario:
projects/PROJECT_ID/locations/LOCATION_ID/entryGroups/@dataplex/entries/projects/{PROJECT_ID{"</var>"}}/locations/LOCATION_ID/glossaries/GLOSSARY_ID - Plazo:
projects/PROJECT_ID/locations/LOCATION_ID/entryGroups/@dataplex/entries/projects/PROJECT_ID/locations/LOCATION_ID/glossaries/GLOSSARY_ID/terms/TERM_ID - Categoría:
projects/PROJECT_ID/locations/LOCATION_ID/entryGroups/@dataplex/entries/projects/PROJECT_ID/locations/LOCATION_ID/glossaries/GLOSSARY_ID/categories/CATEGORY_ID
Los valores
GLOSSARY_ID,CATEGORY_ID,TERM_ID,PROJECT_IDyLOCATION_IDson los mismos que los del glosario de Data Catalog.
Resultados
En la siguiente lista se describen algunos aspectos que debes tener en cuenta sobre los resultados:
Los glosarios, sus categorías y sus términos se exportan a una ubicación global, lo que permite vincular los términos a una entrada de cualquier región.
Los archivos exportados se encuentran en la carpeta
Exported_Filesdedataplex-quickstart-labs/00-resources/scripts/python/business-glossary-import. El nombre del archivo esglossary_GLOSSARY_ID.json.El comando de exportación crea automáticamente el glosario en el catálogo universal de Dataplex con los mismos GLOSSARY_ID y
PROJECT_IDen la ubicación global.La secuencia de comandos crea un archivo JSON que contiene los sinónimos y los enlaces relacionados entre los términos. Los archivos exportados se encuentran en la carpeta Exported_Files de
dataplex-quickstart-labs/00-resources/scripts/python/business-glossary-import. El nombre del archivo esentrylinks_related_synonym_GLOSSARY_ID.json.Los enlaces exportados se encuentran en la carpeta
Exported_Filesdedataplex-quickstart-labs/00-resources/scripts/python/business-glossary-import.Los términos de un glosario pueden estar vinculados a muchas entradas de muchos grupos de entradas. Al exportar los enlaces entre términos y columnas, se crea un archivo para cada
entryGroup. El formato del nombre de archivo esentrylinks_definition_export_GLOSSARY_ID_ENTRY_PROJECT_ID_ENTRY_LOCATION_ID_ENTRY_GROUP_ID.json.El ID de glosario que necesitas para importar glosarios, categorías y términos aparece después de ejecutar la secuencia de comandos de exportación.
Importar glosarios, categorías y términos
Debes importar los glosarios, las categorías y los términos de Dataplex Universal Catalog que has exportado en el paso anterior. En esta sección se describe cómo importar metadatos mediante la API Metadata Job.
Crea un segmento de Cloud Storage y, a continuación, sube el archivo al segmento.
Ejecuta una tarea de importación de metadatos para importar el glosario.
# 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 )"
Haz los cambios siguientes:
JOB_ID: (opcional) ID de un trabajo de importación de metadatos que puede usar para monitorizar el estado del trabajo. Si no proporcionas un ID, el comando gcurl generará un ID único.STORAGE_BUCKET: el URI del segmento o la carpeta de Cloud Storage que contiene el archivo de glosario exportado.PROJECT_ID: el número de proyecto que contiene el glosario.
Opcional: Para hacer un seguimiento del estado del trabajo de importación de metadatos, utiliza el método
metadataJobs.get:gcurl -X GET https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/global/metadataJobs/JOB_ID
Si se produce algún error en el trabajo de importación de metadatos, aparecerá en los registros.
Importar enlaces entre términos a Dataplex Universal Catalog
Debes importar los enlaces entre los términos exportados en el paso anterior. En esta sección se describe cómo importar datos mediante la API de tareas de metadatos.
Crea un segmento de Cloud Storage y sube a él el archivo de enlaces de entrada exportado en el paso anterior.
Ejecuta una tarea de importación de metadatos para importar los enlaces de entrada:
# 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 )"
Haz los cambios siguientes:
GLOSSARY_PROJECT_ID: el ID del proyecto que contiene el glosario- Opcional:
LINKED_GLOSSARY_PROJECT_ID_1: si los términos están vinculados en glosarios de diferentes proyectos, proporciona el ID del proyecto. - Opcional:
LINKED_GLOSSARY_PROJECT_ID_2: si los términos están vinculados en glosarios de diferentes proyectos, proporciona el ID del proyecto.
Ten en cuenta lo siguiente:
- El objeto
entry_groupscontiene el grupo de entradas en el que se crean los enlaces de entrada. Este es el grupo de entradas del sistema@dataplexen el mismo proyecto y ubicación que el glosario. El objeto
entry_link_typeste permite importar sinónimos, términos relacionados o ambos:- Sinónimos:
projects/dataplex-types/locations/global/entryLinkTypes/synonym - Términos relacionados:
projects/dataplex-types/locations/global/entryLinkTypes/related
- Sinónimos:
El objeto
referenced_entry_scopesincluye los IDs de proyecto de los enlaces de entrada que vinculan términos de diferentes glosarios.
Importar enlaces entre términos y columnas
Debes importar los enlaces entre los términos y las columnas que hayas exportado en el paso anterior. En esta sección se describe cómo importar mediante la API de tareas de metadatos.
Sube cada archivo exportado en el paso anterior a un segmento de Cloud Storage.
Ejecuta un comando de importación independiente para cada archivo subido al segmento de Cloud Storage. Cada archivo corresponde a un grupo de entrada único que contiene enlaces entre los términos y las columnas de ese grupo de entrada.
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 )"