Descobrir dados

Este guia explica como ativar e usar o Dataplex Descoberta. Verificações e extrações de descobertas metadados de dados em um data lake e os registra Dataproc Metastore, BigQuery e Data Catalog para análise, pesquisa e exploração.

Visão geral

Para cada recurso do Dataplex com a descoberta ativada, O Dataplex faz o seguinte:

  • Verifica os dados associados ao recurso.
  • Agrupa arquivos estruturados e semiestruturados em tabelas.
  • Coleta metadados técnicos, como nome da tabela, esquema e definição de partição.

Para dados não estruturados, como imagens e vídeos, o Dataplex A descoberta detecta e registra automaticamente grupos de arquivos compartilhando tipos de mídia como conjuntos de arquivos. Por exemplo, se gs://images/group1 contém imagens GIF e gs://images/group2 contém imagens JPEG, O Dataplex Discovery detecta e registra dois conjuntos de arquivos. Para dados estruturados, como o Avro, o Discovery detecta arquivos somente se eles estiverem localizados em pastas com o mesmo formato e esquema de dados.

As tabelas e os conjuntos de arquivos descobertos são registrados no Data Catalog para pesquisa e descoberta. As tabelas aparecem no metastore do Dataproc como tabelas no estilo Hive e no BigQuery como tabelas externas, para que os dados são disponibilizados automaticamente para análise.

A descoberta oferece suporte às seguintes estratégias formatos de dados:

.

A descoberta oferece suporte ao seguinte formato de compactação para estruturados e semiestruturados:

  • Compactação interna para estes formatos:

    Compactação Exemplo de extensão de arquivo Formato aceito
    gzip .gz.parquet Parquet
    lz4 .lz4.parquet Parquet
    Snappy .snappy.parquet Parquet, ORC e Avro
    lzo .lzo.parquet Parquet e ORC
  • Compactação externa para arquivos JSON e CSV:

    • gzip
    • bzip2
.

Configuração da descoberta

A descoberta é ativada por padrão quando você cria um novo zona ou recurso. Você pode desativar a descoberta na no nível da zona ou do recurso.

Ao criar uma zona ou um recurso, é possível escolher herdar Configurações de descoberta no nível da zona ou as Configurações de descoberta no nível do recurso.

Estas são as opções de configuração de descoberta disponíveis nos níveis da zona e do recurso:

  • Descoberta ativada e desativada.

  • Programação da descoberta: esta opção pode ser definida como uma de programação, por exemplo, por hora ou diariamente, ou uma programação personalizada definida pelo cron . Novos recursos são verificados quando são adicionados. Para mais consulte Como configurar programações de cron. Recomendado: programe a descoberta para ser executada a cada hora ou menos com frequência.

  • Padrão de inclusão ou exclusão: defina de quais arquivos incluir ou excluir. Verificações de descoberta, usando padrões glob nos campos include ou excluir caminho. Por exemplo, se você quiser excluir gs://test_bucket/foo/.. dos descoberta, insira **/foo/* como o caminho de exclusão. Aspas causa erros. Insira **/foo/* em vez de "**/foo/*". Essa função só está disponível para recursos do Cloud Storage. Quando os dois os padrões de inclusão e exclusão existem ao mesmo tempo, os padrões de exclusão são aplicadas primeiro.

  • Especificações para JSON ou CSV: permite fornecer informações adicionais sobre dados semiestruturados, como CSV e JSON, para aumentar a acurácia Resultados da descoberta.

    • Para arquivos CSV, você pode fornecer qualquer um dos seguintes itens:

      • Delimitador: esse campo aceita um caractere, exceto \r e \n. Se mais de um caractere é fornecido, apenas o primeiro caractere do é usada. Se não for informado, o Discovery vai usar uma vírgula como delimitador.

      • Número de linhas de cabeçalho:esse campo aceita o valor 0 ou 1. O valor padrão é 0. Quando o valor é 0, o Discovery tem um desempenho inferência de cabeçalho e, se um cabeçalho for detectado, o Discovery extrai nomes de colunas do cabeçalho e redefine o valor para 1.

      • Codificação:esse campo aceita nomes de codificação de strings, como UTF-8, US-ASCII ou ISO-8859-1. Se nada for especificado, UTF-8 será usado como padrão.

      • Desativar a inferência de tipo:esse campo aceita um valor booleano. Está definido como false por padrão. Para dados CSV, se você desativar a inferência de tipo, todas as colunas são registradas como strings.

    • Para arquivos JSON, é possível fornecer o seguinte:

      • Codificação:esse campo aceita nomes de codificação de strings, como UTF-8, US-ASCII ou ISO-8859-1. Se nada for especificado, UTF-8 será usado. como padrão.

      • Desativar a inferência do tipo de dados:esse campo aceita um valor booleano. Está definido como false por padrão. Para dados JSON, se você desativar a inferência de tipo, todas as colunas são registradas como seus tipos primitivos (string, número ou boolean).

    .

Publicar metadados

Ao criar uma zona de dados no data lake do Dataplex, O Dataplex cria um conjunto de dados do BigQuery no projeto que contém o lago. O Dataplex publica tabelas nesse conjunto de dados para tabelas descobertas nos buckets do Cloud Storage adicionados ao zona de dados como recursos. O conjunto de dados é conhecido como um arquivo de metadados conjunto de dados de publicação correspondente à zona.

Cada zona de dados do Dataplex é mapeada para um conjunto de dados o BigQuery ou um banco de dados no metastore do Dataproc, em que as informações de metadados são disponibilizadas automaticamente.

É possível editar os metadados descobertos automaticamente, como nome ou esquema da tabela, usando a API de metadados do Dataplex.

Ver tabelas e conjuntos de arquivos descobertos

É possível pesquisar tabelas e conjuntos de arquivos descobertos no Dataplex Pesquisa no console do Google Cloud.

Abrir a Pesquisa

Para resultados de pesquisa mais precisos, use filtros específicos do Dataplex, como data lakes e nomes de zonas. Os 50 principais itens por atributo são exibidos na lista de filtros. Você pode encontrar itens adicionais usando o caixa de pesquisa.

Cada entrada contém metadados técnicos e operacionais detalhados.

Na página de detalhes da entrada, é possível consultar a tabela no BigQuery. e visualizar os detalhes de registro do respectivo metastore do Dataproc.

Se for possível publicar uma tabela do Cloud Storage no BigQuery como uma tabela externa, será possível conferir o seguinte na visualização de detalhes da entrada:

  • Referências de tabelas externas do BigQuery
  • Um botão para Abrir no BigQuery para começar a analisar os dados no BigQuery.

As entradas de metadados do Dataplex são visíveis searchable no Data Catalog. Para saber mais, consulte a Referência de pesquisa do Data Catalog.

Todas as entradas descobertas podem ser visualizadas na API de metadados do Dataplex.

Ações de descoberta

A descoberta gera as seguintes ações de administrador sempre que quando problemas relacionados a dados são detectados durante as verificações.

Formato de dados inválido

incluindo estas ações:

  • Formato de dados inconsistente em uma tabela. Por exemplo, arquivos de diferentes formatos com o mesmo prefixo de tabela.

  • Formato de dados inválido nas zonas selecionadas (dados que não estão nos formatos Avro, Parquet ou ORC).

Esquema incompatível

incluindo estas ações:

  • Um esquema detectado pelo Discovery é incompatível com a esquema de tabela ativa na API de metadados do metastore do Dataproc. Os esquemas A e B serão incompatíveis se:

    • A e B compartilham campos com o mesmo nome, mas de maneiras diferentes e incompatíveis tipos de dados. Por exemplo, string e número inteiro.

    • A e B não têm campos sobrepostos.

    • A e B têm pelo menos um campo não anulável não encontrado no outro esquema.

  • Desvio de esquema em relação a um esquema gerenciado pelo usuário na zona selecionada.

Definição de partição inválida

incluindo estas ações:

  • Nomeação de partição inconsistente. Por exemplo: gs://sales_data/year=2020/month=10/day=01 e gs://sales_data/year=2020/region=us.

  • Nomenclatura de partições de estilo que não são do Hive na zona de dados selecionada. Para exemplo, gs://sales_data/2020/10/01 em vez de gs://sales_data/year=2020/month=10/day=01.

Dados ausentes

incluindo estas ações:

  • Na zona de dados selecionada, os dados de uma tabela registrada ou de arquivos não existe mais. Em outras palavras, uma tabela de zona ou um conjunto de arquivos selecionado descobertos e registrados, mas depois os dados subjacentes foram excluídos. Você pode corrigir esse problema renovando os dados ou excluindo a entrada de metadados.

Resolver ações de descoberta

Os dados com ações são verificados por verificações subsequentes da descoberta. Quando o problema que aciona a ação for corrigido, ela será resolvida. automaticamente pela próxima verificação de descoberta programada.

Outras ações

Além das ações de descoberta anteriores, há três outros tipos de ações relacionadas ao status dos recursos e à política de segurança no Dataplex.

  • Recurso ausente: o bucket ou conjunto de dados subjacente não foi encontrado. correspondente a um recurso existente.

  • Recurso não autorizado: o Dataplex não tem recursos permissões para executar a descoberta ou aplicar políticas de segurança para o bucket ou conjunto de dados gerenciado pelo Dataplex

  • Problemas com a propagação da política de segurança: políticas de segurança especificadas para um determinado lake, zona ou recurso não pôde ser propagado corretamente para o buckets ou conjuntos de dados subjacentes. Enquanto todas as outras ações estão no recurso esse tipo de ação pode ser realizada no nível do lake, da zona e do recurso.

Essas ações são resolvidas automaticamente quando o recurso ou configuração de segurança são corrigidos.

Perguntas frequentes

O que devo fazer se o esquema inferido pela descoberta estiver incorreto?

Se o esquema inferido for diferente do esperado para uma determinada tabela, pode substituir o esquema inferido atualizando os metadados com o API de metadados. Não se esqueça de definir userManaged como true para que sua edição não seja substituída em Verificações de descoberta.

Como faço para excluir arquivos de uma verificação de descoberta?

Por padrão, o Discovery exclui determinados tipos de arquivos dos incluindo:

  • _SUCCESS
  • _started
  • _committed
  • _metadata, _METADATA, _Metadata
  • _common_metadata, _COMMON_METADATA
  • Arquivos que começam com README ou readme
  • Diretórios que começam com base_, delta_, delete_delta_, bucket_, seguido por um número
  • Diretórios que começam com .

É possível especificar padrões adicionais de inclusão ou exclusão usando o método a configuração de descoberta no nível da zona ou do recurso, ou usando o API de metadados.

O que devo fazer se o agrupamento de tabelas detectado pelo Discovery for muito granular?

Se as tabelas detectadas pelo Discovery estiverem em um nível mais granular, em comparação com o caminho raiz da tabela. Por exemplo, cada indivíduo é registrada como uma tabela, pode haver vários motivos:

  • Há diferenças de formato, como uma mistura de arquivos Avro e Parquet, em o caminho raiz esperado da tabela, que a divide em agrupamentos menores.

  • Há diferentes tipos de incompatibilidades de esquema na tabela esperada que divide a tabela em grupos menores.

É possível resolver esse problema de uma das seguintes maneiras:

  • Corrija as diferenças de formato ou esquema para que todos os arquivos na mesma raiz de tabela têm formato consistente e esquema compatível.

  • Excluir arquivos heterogêneos usando a configuração de padrão de exclusão como parte da configuração de zona / recurso ou da API de metadados.

Depois de realizar uma das ações corretivas, no próximo Na verificação de descoberta, ocorre o seguinte:

  • As tabelas de nível inferior são removidas automaticamente da a API de metadados do Dataplex, o BigQuery Dataproc Metastore e Data Catalog.
  • Uma nova tabela de nível superior com o caminho raiz da tabela esperado é criada.

Como faço para especificar nomes de tabelas?

Você pode especificar nomes de tabelas usando a API de metadados.

O que acontecerá se eu criar tabelas manualmente no metastore do Dataproc ou no BigQuery?

Quando a descoberta está ativada para um determinado recurso, você não precisa registrar manualmente as entradas no metastore do Dataproc ou no BigQuery.

É possível definir manualmente o nome, o esquema e as definições de partição da tabela, enquanto e desativar a descoberta do Dataplex. Como alternativa, faça o seguinte:

  1. Criar uma tabela especificando apenas as informações necessárias, como o caminho raiz da tabela.
  2. Use o Dataplex Discovery para preencher o restante dos metadados, como definições de esquema e partição.
  3. Mantenha os metadados atualizados.

O que devo fazer se minha tabela não aparecer no BigQuery?

Embora os metadados do Dataplex sejam todos registrados centralmente no metadados, apenas as tabelas do Cloud Storage compatíveis com do BigQuery são publicados no BigQuery como tabelas. Como parte dos detalhes de entrada da tabela no API de metadados, você encontra um marcador de compatibilidade do BigQuery quais entidades são publicadas no BigQuery e por quê.

A seguir