Metadados do Dataplex

Neste guia, descrevemos os metadados do Dataplex e como é possível usar as APIs do Dataplex para gerenciá-lo.

Visão geral

O Dataplex verifica o seguinte:

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

É possível usar a API Dataplex Metadata para fazer o seguinte:

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

Também é possível analisar os metadados do Dataplex com:

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

APIs do Dataplex

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

API do plano de controle

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

  • 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. Usar várias zonas em um lake para organizar 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 no de tabelas e conjuntos de arquivos. O Dataplex verifica os dados recursos, seja em um lake ou fornecidos por você, para criar entidades e partições. Entidades e partições mantêm referências a objetos e locais de armazenamento físico.

Principais conceitos

Entidade de tabela:

Metadados de dados estruturados com esquemas bem definidos. As entidades de tabela são identificados exclusivamente pelo ID da entidade e pelo local dos dados. Os metadados da entidade da tabela podem ser consultados no BigQuery e no Dataproc Metastore:

  • Objetos do Cloud Storage: metadados de objetos do Cloud Storage. que são acessados pelas APIs do Cloud Storage.
  • Tabelas do BigQuery: metadados do BigQuery que são acessadas usando as APIs do BigQuery.
Entidade de conjunto de arquivos:

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

Partições:

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

Teste a API

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

As seções a seguir fornecem informações para ajudar a entender e usar as APIs de metadados 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 do 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 de metadados, apenas os metadados da tabela de entidades que são compatíveis com o BigQuery e o Apache Hive Metastore são publicados no BigQuery e no Dataproc Metastore. 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 Hive. e, em caso negativo, o motivo da incompatibilidade.

Atualizar entidade

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

  • Essa API realiza uma substituição completa de todos os campos mutáveis de entidade. Os campos de entidade a seguir são imutáveis e, se especificados em uma solicitação de atualização, serão ignorados:
  • Especifique um valor para todos os campos mutáveis da entidade, incluindo todos os campos do esquema, mesmo que os valores não estejam sendo alterados.
  • Forneça o etag (em inglês) . Para conseguir a etag, primeiro envie uma entities.get, que retorna o etag da entidade na resposta.
  • Como atualizar campos de esquema: atualize o esquema da 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, configure a modo para REPEATED. Para definir um campo de struct, configure tipo para RECORD.
    • É possível definir o campo userManaged do esquema para especificar se você ou o Dataplex gerencia os metadados da tabela. A configuração padrão é Dataplex gerenciados. Se userManaged for definido como verdadeiro, essa configuração será incluída nas informações retornadas de uma solicitação entities.get se EntityView for definido como SCHEMA ou FULL.
  • Como atualizar campos de partição:
    • Para dados particionados em um estilo diferente do Hive, a descoberta do Dataplex gera automaticamente as chaves de partição. Por exemplo, para o caminho de dados gs://root/2020/12/31, as chaves de partição p0, p1 e p2 são geradas. 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 estilo HIVE, o campo de partição é imutável.
  • Atualização de outros campos de metadados:é possível atualizar os campos de metadados gerados automaticamente mimeType, CompressionFormat, CsvOptions e JsonOptions para ajudar na descoberta do Dataplex. Dataplex descoberta vai usar novos valores na próxima execução.

Criar entidade

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

Excluir entidade

  • Forneça o campo etag. Você pode receber o ETag enviando primeiro 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, a tabela ou os metadados do conjunto de arquivos são excluídos automaticamente na próxima Verificação de descoberta. Se os dados de uma tabela em uma zona selecionada excluídos, os metadados da tabela não serão excluídos correspondente, mas sim uma string a ação de dados for reportada. Para resolver esse problema, exclua a tabela explicitamente a entidade de metadados por meio da 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 de 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 receber uma partição, é necessário preencher o URL da solicitação anexando os valores da chave de partição ao final do URL, formatado para ler como partitions/value1/value2/…./value10.

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

Importante:os valores de URL anexados precisam ser com codificação dupla. Por exemplo, url_encode(url_encode(value)) pode ser usado para codificar "US:CA/CA#Sunnyvale" para que o URL de 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 o método API partitions.create. Especifique os campos local 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 da 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 deve terminar com /partitions/US/CA/Sunnyvale.

Importante:os valores de URL anexados precisam estar em conformidade com RFC-1034 ou eles precisam ser codificados duas vezes, por exemplo, US:/CA#/Sunnyvale como US%3A/CA%3A/Sunnyvale.

A seguir