Metadados do Dataplex

Neste guia, descrevemos os metadados do Dataplex e como você pode usar as APIs do Dataplex para gerenciá-los.

Informações gerais

O Dataplex verifica o seguinte:

  • Recursos de dados estruturados e semiestruturados em data lakes para extrair metadados de tabelas em entidades de tabela
  • Dados não estruturados, como imagens e textos, para extrair metadados de conjuntos de arquivos em entidades desse tipo.

Use a API Dataplex Metadata para:

  • Ver, editar e excluir metadados de entidades de tabela e conjunto de arquivos
  • Criar seus próprios metadados de entidade de tabela ou conjunto de arquivos

Também é possível analisar os metadados do Dataplex por meio de um dos seguintes métodos:

  • Data Catalog para pesquisa e inclusão de tags
  • Metastore do Dataproc e BigQuery para consulta de metadados de tabelas e processamento de análises

APIs do Dataplex

Esta seção resume as APIs do Dataplex e os principais recursos com elas.

API do plano de controle

A API do plano de controle do Dataplex permite a criação e o gerenciamento de recursos de lake, zona e recursos.

  • Lake: uma instância de serviço do Dataplex que permite gerenciar recursos de armazenamento em projetos de uma organização.

  • Zona: um agrupamento lógico de recursos em um lake. Use várias zonas em um lake para organizar os dados com base na prontidão, carga de trabalho ou estrutura organizacional.

  • Recursos: recursos de armazenamento, com dados armazenados em buckets do Cloud Storage ou conjuntos de dados do BigQuery, anexados a uma zona dentro de um lake.

API Metadata

Use a API Dataplex Metadata para criar e gerenciar metadados em entidades e partições de tabela e conjunto de arquivos. O Dataplex verifica os recursos de dados, em um lake ou fornecidos por você, para criar entidades e partições. Entidades e partições mantêm referências a recursos associados e locais de armazenamento físico.

Principais conceitos

Entidade da tabela:

Metadados para dados estruturados com esquemas bem definidos. As entidades da tabela são identificadas de forma exclusiva pelo ID da entidade e pelo local dos dados. Os metadados da entidade da tabela podem ser consultados no BigQuery e no metastore do Dataproc:

  • Objetos do Cloud Storage:metadados de objetos do Cloud Storage, que são acessados pelas APIs do Cloud Storage.
  • Tabelas do BigQuery:metadados das tabelas do BigQuery, acessadas por meio das APIs do BigQuery.
Entidade do conjunto de arquivos:

Metadados sobre dados não estruturados, normalmente sem esquema. Os conjuntos de arquivos são identificados de forma exclusiva pelo ID da entidade e pelo local dos dados. Cada conjunto de arquivos tem um formato de dados.

Partições:

Metadados de um subconjunto de dados em uma tabela ou entidade de conjunto de arquivos, identificados por um conjunto de pares de chave-valor e um local dos dados.

Testar a API

Use as páginas de documentação de referência da API lakes.zones.entities e lakes.zones.partitions do Dataplex para ver os parâmetros e campos associados a cada API. Use o painel Testar esta API que acompanha a documentação de referência de cada método de API para fazer solicitações de API usando parâmetros e campos diferentes. É possível construir, visualizar e enviar suas solicitações sem precisar gerar credenciais e, em seguida, visualizar as respostas retornadas pelo serviço.

As seções a seguir fornecem informações para ajudar você a entender e usar as APIs Metadata do Dataplex.

Entidades

Listar entidades

Para limitar a lista de entidades retornadas pelo serviço, adicione parâmetros de consulta filter ao URL da solicitação list entities.

Acessar entidade

Por padrão, a resposta Get Entity contém metadados básicos da entidade. Para recuperar outros metadados de esquema, adicione o parâmetro de consulta view ao URL da solicitação.

Detalhes de compatibilidade: embora os metadados do Dataplex sejam registrados centralmente na API Metadata, somente os metadados da tabela de entidades compatíveis com o BigQuery e o Metastore do Apache Hive são publicados no BigQuery e no Metastore do Dataproc. A API Get Entity retorna uma mensagem CompatibilityStatus, que indica se os metadados da tabela são compatíveis com o BigQuery e o Metastore do Hive. Caso não seja, o motivo da incompatibilidade.

Atualizar entidade

Use essa API para editar metadados de entidade, incluindo se você ou o Dataplex vai gerenciar os metadados da entidade.

  • Essa API executa uma substituição completa de todos os campos mutáveis de Entity. Os campos "Entity" a seguir são imutáveis. Se você especificá-los em uma solicitação de atualização, eles serão ignorados:
  • Especifique um valor para todos os campos de entidade mutáveis, incluindo todos os campos de esquema, mesmo que os valores não estejam sendo alterados.
  • Forneça o campo etag. Para conseguir a ETag, envie uma solicitação entities.get, que retorna o etag da entidade na resposta.
  • Atualizar campos de esquema: atualize o esquema de tabela descoberto pelo Dataplex para melhorar a precisão.
    • Se o esquema for um conjunto de arquivos, deixe todos os campos do esquema vazios.
    • Para definir um campo repetido, defina o mode como REPEATED. Para definir um campo de struct, defina o type como RECORD.
    • Defina o campo userManaged do esquema para especificar se você ou o Dataplex gerencia os metadados da tabela. A configuração padrão é gerenciado pelo Dataplex. Se userManaged for definido como verdadeiro, essa configuração será incluída nas informações retornadas de uma solicitação entities.get se EntityView estiver definido como SCHEMA ou FULL.
  • Como atualizar campos de partição:
    • Para dados particionados no estilo que não sejam do Hive, a descoberta do Dataplex gera chaves de partição automaticamente. Por exemplo, para o caminho de dados gs://root/2020/12/31, são geradas as chaves de partição p0, p1 e p2. Para tornar a consulta mais intuitiva, atualize p0, p1 e p2 para year, month e day, respectivamente.
    • Se você atualizar o estilo da partição para HIVE style, o campo de partição será imutável.
  • Como atualizar outros campos de metadados: é possível atualizar campos gerados automaticamente mimeType, CompressionFormat, <a\ l10n-encrypted-href="4j47fNIJx6fHidLzUB36HWsP3kvJXL0i3UcbX/IwKQtqc4criDhrFxJZ9DkJsonOptions A descoberta do Dataplex vai usar novos valores na próxima execução. </a\>

Criar entidade

Use a API entities.create para criar entidades de metadados de tabela ou conjunto de arquivos. Preencha os campos opcionais obrigatórios e relevantes ou deixe que o serviço de descoberta do Dataplex preencha os campos opcionais.

Excluir entidade

  • Forneça o campo etag. Para conseguir a ETag, envie uma solicitação entities.get, que retorna o etag da entidade na resposta.

Se os dados subjacentes de uma tabela ou conjunto de arquivos em uma zona bruta forem excluídos, os metadados da tabela ou do conjunto de arquivos serão excluídos automaticamente na próxima verificação de descoberta. Se os dados subjacentes de uma tabela em uma zona selecionada forem excluídos, os metadados da tabela não serão excluídos de maneira correspondente. Em vez disso, uma ação de dados ausente será informada. Para resolver esse problema, exclua explicitamente a entidade de metadados da tabela usando a API de metadados.

Partições.

Listar partições

Para limitar a lista de partições retornadas pelo serviço, adicione parâmetros de consulta filter ao URL da solicitação list partitions.

Exemplos:

  • ?filter="Country=US AND State=CA AND City=Sunnyvale"
  • ?filter="year < 2000 AND month > 12 AND Date > 10"

Acessar partição

Para conseguir uma partição, preencha o URL da solicitação anexando os valores da chave de partição ao final do URL, formatados para ler como partitions/value1/value2/…./value10.

Exemplo: se uma partição tiver valores {Country=US, State=CA, City=Sunnyvale}, o URL de solicitação de recebimento precisará terminar com /partitions/US/CA/Sunnyvale.

Importante:os valores de URL anexados precisam ter codificação dupla. Por exemplo, url_encode(url_encode(value)) pode ser usado para codificar "US:CA/CA#Sunnyvale" para que o URL da solicitação termine com /partitions/US%253ACA/CA%2523Sunnyvale. O campo de nome na resposta mantém o formato codificado.

Criar partição

Para criar uma partição personalizada para sua fonte de dados, use a API partitions.create. Especifique o campo de local obrigatório com um caminho do Cloud Storage.

Excluir partição

Conclua o URL da solicitação anexando valores de chave de partição ao final do URL de solicitação, formatado para ler como partitions/value1/value2/…./value10.

Exemplo: se uma partição tiver valores {Country=US, State=CA, City=Sunnyvale}, o URL de solicitação precisará terminar com /partitions/US/CA/Sunnyvale.

Importante:os valores de URL anexados precisam estar em conformidade com RFC-1034 ou têm codificação dupla, por exemplo, US:/CA#/Sunnyvale como US%3A/CA%3A/Sunnyvale.

A seguir