Este documento fornece instruções para migrar da versão de pré-visualização do glossário empresarial, que suportava metadados do Data Catalog, para a versão geralmente disponível do glossário empresarial, que suporta metadados do Dataplex Universal Catalog. O processo de transição requer que exporte glossários, categorias, termos e links do Data Catalog e, em seguida, os importe para o Dataplex Universal Catalog.
Para fazer a transição para o glossário empresarial no Dataplex Universal Catalog, siga estes passos:
- Exporte glossários e links de entradas do catálogo de dados.
- Importe glossários, categorias e termos para o Dataplex Universal Catalog.
- Importe associações entre termos para o Dataplex Universal Catalog.
- Importe associações entre termos e colunas para o Dataplex Universal Catalog.
Antes de começar
Instale gcloud ou pacotes Python.
Funções necessárias
Para exportar um glossário do Data Catalog, tem de ter a função roles/datacatalog.glossaryOwner
nos projetos em que o glossário está presente. Consulte as autorizações necessárias para esta função.
Para obter as autorizações de que
precisa para importar o glossário empresarial para o Dataplex Universal Catalog,
peça ao seu administrador que lhe conceda a função IAM de
administrador do Dataplex (roles/dataplex.admin
)
nos projetos.
Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.
Esta função predefinida contém as autorizações necessárias para importar o glossário empresarial para o Dataplex Universal Catalog. Para ver as autorizações exatas que são necessárias, expanda a secção Autorizações necessárias:
Autorizações necessárias
São necessárias as seguintes autorizações para importar o glossário empresarial para o catálogo universal do Dataplex:
-
dataplex.glossaries.import
no recurso de glossário -
dataplex.entryGroups.import
no grupo de entradas do Dataplex Universal Catalog fornecido no campoentry_groups
e nos grupos de entradas onde as entradas do Data Catalog estão presentes e que estão associadas aos termos do glossário -
dataplex.entryGroups.useSynonymEntryLink
no grupo de entradas do Dataplex Universal Catalog fornecido no campoentry_groups
e nos grupos de entradas onde as entradas do Data Catalog estão presentes e que estão associadas aos termos do glossário -
dataplex.entryGroups.useRelatedEntryLink
no grupo de entradas do Dataplex Universal Catalog fornecido no campoentry_groups
e nos grupos de entradas onde as entradas do Data Catalog estão presentes e que estão associadas aos termos do glossário -
dataplex.entryLinks.reference
em todos os projetos indicados no camporeferenced_entry_scopes
Também pode conseguir estas autorizações com funções personalizadas ou outras funções predefinidas.
Exporte glossários, categorias e termos do catálogo de dados
Pode exportar um glossário de cada vez.
Clone o repositório dataplex-labs e, de seguida, altere os diretórios para o subdiretório
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
Obtenha a sua chave de acesso:
export GCLOUD_ACCESS_TOKEN=$(gcloud auth print-access-token)
Execute o guião de exportação:
python3 bg_import/business_glossary_export_v2.py \ --user-project="PROJECT_ID" \ --url="DATA_CATALOG_GLOSSARY_URL"
Substitua o seguinte:
PROJECT_ID
: o ID do projeto que contém o glossário.DATA_CATALOG_GLOSSARY_URL
: o URL do glossário empresarial do Data Catalog na consola.
O script cria um ficheiro JSON que segue o mesmo formato que o ficheiro de importação de metadados usado para tarefas de importação de metadados. Os nomes do glossário, das categorias e dos termos usam os seguintes formatos:
- Glossário:
projects/PROJECT_NUMBER/locations/LOCATION_ID/entryGroups/@dataplex/entries/projects/PROJECT_NUMBER/locations/LOCATION_ID/glossaries/GLOSSARY_ID
- Termo:
projects/PROJECT_NUMBER/locations/LOCATION_ID/entryGroups/@dataplex/entries/projects/PROJECT_NUMBER/locations/LOCATION_ID/glossaries/GLOSSARY_ID/terms/TERM_ID
- Categoria:
projects/PROJECT_NUMBER/locations/LOCATION_ID/entryGroups/@dataplex/entries/projects/PROJECT_NUMBER/locations/LOCATION_ID/glossaries/GLOSSARY_ID/categories/CATEGORY_ID
Em que
GLOSSARY_ID
,CATEGORY_ID
,TERM_ID
,PROJECT_NUMBER
eLOCATION_ID
são iguais aos valores do glossário do Data Catalog.
Importe glossários, categorias e termos
Tem de importar os glossários, as categorias e os termos do Dataplex Universal Catalog exportados no passo anterior. Esta secção descreve como importar através da API de tarefas de metadados.
Crie um contentor do Cloud Storage e, de seguida, carregue o ficheiro para o contentor.
Execute uma tarefa de importação de metadados para importar o glossário.
# 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_NUMBER/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_NUMBER/locations/global/glossaries/GLOSSARY_ID"] } } } EOF )"
Substitua o seguinte:
JOB_ID
: (opcional) um ID da tarefa de importação de metadados que pode usar para acompanhar o estado da tarefa. Se não fornecer um ID, o comando gcurl gera um ID exclusivo.STORAGE_BUCKET
: o URI do contentor ou da pasta do Cloud Storage que contém o ficheiro de glossário exportado.PROJECT_NUMBER
: o número do projeto que contém o glossário.
Opcional: para acompanhar o estado da tarefa de importação de metadados, use o método
metadataJobs.get
:gcurl -X GET https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/global/metadataJobs/JOB_ID
Se receber erros na tarefa de importação de metadados, estes são apresentados nos registos.
Importe associações entre termos para o Dataplex Universal Catalog
Tem de importar associações entre termos exportados no passo anterior. Esta secção descreve como importar através da API de tarefas de metadados.
Crie um novo contentor do Cloud Storage e, de seguida, carregue o ficheiro de links de entradas exportado do passo anterior para o contentor.
Execute uma tarefa de importação de metadados para importar os links 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 )"
Substitua o seguinte:
GLOSSARY_PROJECT_ID
: o ID do projeto que contém o glossário- Opcional:
LINKED_GLOSSARY_PROJECT_ID_1
: se os termos estiverem associados em glossários de projetos diferentes, indique o ID do projeto - Opcional:
LINKED_GLOSSARY_PROJECT_ID_2
: se os termos estiverem associados em glossários de projetos diferentes, indique o ID do projeto
Tenha em conta o seguinte:
- O objeto
entry_groups
contém o grupo de entradas onde os links de entrada são criados. Este é o grupo de entradas do sistema@dataplex
no mesmo projeto e localização que o glossário. O objeto
entry_link_types
permite-lhe importar sinónimos, termos relacionados ou ambos:- Sinónimos:
projects/dataplex-types/locations/global/entryLinkTypes/synonym
- Termos relacionados:
projects/dataplex-types/locations/global/entryLinkTypes/related
- Sinónimos:
O objeto
referenced_entry_scopes
inclui os IDs dos projetos de links de entrada que associam termos de diferentes glossários.
Importe associações entre termos e colunas
Tem de importar associações entre termos e colunas exportadas no passo anterior. Esta secção descreve como importar através da API de tarefas de metadados.
Carregue cada ficheiro exportado no passo anterior para um contentor do Cloud Storage.
Execute um comando de importação separado para cada ficheiro carregado no contentor do Cloud Storage. Cada ficheiro corresponde a um grupo de entradas único que contém associações entre termos e colunas desse grupo de entradas.
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 )"
O que se segue?
- Faça a gestão de um glossário empresarial no Dataplex Universal Catalog
- Faça a transição para o Dataplex Universal Catalog