Acerca da linhagem de dados

A linhagem de dados permite-lhe acompanhar a forma como os dados se movem nos seus sistemas: a sua origem, o destino e as transformações que lhes são aplicadas.

Por que motivo precisa da linhagem de dados?

O processamento de grandes conjuntos de dados envolve frequentemente a transformação de dados em entidades adaptadas às necessidades de um projeto específico: ficheiros de texto, tabelas, relatórios, painéis de controlo e modelos.

Por exemplo, imagine que tem uma loja online onde regista todas as compras numa única tabela SQL. Para facilitar o trabalho dos seus analistas com os dados, começa a executar tarefas que extraem informações desta única tabela e produzem tabelas mais pequenas por região, marca ou preço de venda. Os seus analistas começam a fazer o mesmo: realizam mais transformações, unindo estas tabelas mais pequenas com outras origens de dados para produzir ainda mais tabelas.

Isto pode tornar-se um grande desafio para as partes interessadas:

  • Os consumidores de dados não podem usar uma ferramenta self-service para compreender se os dados provêm de uma origem autorizada.
  • Os engenheiros de dados não conseguem identificar a causa principal dos problemas devido à falta de uma forma fiável de acompanhar todas as transformações de dados.
  • Os engenheiros de dados e os analistas não conseguem avaliar totalmente o possível impacto antes de modificar ou eliminar tabelas.
  • Os administradores de dados não conseguem compreender como os dados confidenciais são usados em toda a organização e validar a conformidade com os requisitos regulamentares.

A linhagem de dados é uma solução que oferece uma forma prática de fazer o seguinte:

  • Compreenda como os dados são obtidos e transformados com a ajuda de gráficos de linhagem.
  • Rastreie os erros relacionados com entradas e operações de dados até às respetivas causas principais.
  • Permita uma melhor gestão de alterações através da análise de impacto: evite o tempo de inatividade ou erros inesperados, compreenda as entradas dependentes e colabore com as partes interessadas relevantes.

Modelo de informações de linhagem de dados

Na sua forma básica, a linhagem é um registo de dados que são transformados de origens para destinos. A API Data Lineage recolhe essas informações e organiza-as num modelo de dados hierárquico através dos conceitos de processos, execuções e eventos.

Processo

Um processo é a definição de uma operação de transformação de dados suportada para um sistema específico. No contexto da linhagem do BigQuery, uma process é um dos tipos de tarefas suportados.

Execução

Uma execução é a execução de um processo. Os processos podem ter várias execuções. As execuções contêm detalhes como horas de início e fim, estado ou atributos adicionais. Para mais informações, consulte a run referência de recursos.

Evento

Um evento representa um ponto no tempo em que ocorreu uma operação de transformação de dados e resultou na movimentação de dados entre uma entidade de origem e uma entidade de destino.

Os eventos contêm uma lista de associações que definem qual foi a entrada de origem e qual foi o destino num determinado evento. Embora os eventos sejam usados para calcular os gráficos de linhagem, não são expostos diretamente na Google Cloud consola. Pode criá-los, lê-los e eliminá-los (mas não atualizá-los) através da API Data Lineage.

Exemplo

Considere o seguinte exemplo em que os dados são copiados entre tabelas do BigQuery:

O exemplo extrai dados de tabelas denominadas customer_year e customers para derivar uma tabela denominada top_customer.
Exemplo de um gráfico que mostra as origens dos dados da tabela.

A forma como os dados se movem entre as tabelas é descrita pelo processo de linhagem (representado no gráfico pelo ícone Ícone do processo de linhagem do BigQuery.): pode ser uma consulta SQL CREATE TABLE AS SELECT ou uma declaração INSERT.

Cada execução dessa declaração SQL constitui uma execução individual. As execuções contêm eventos que registam as tabelas usadas como origens e quais como destinos. Neste exemplo, as tabelas customer_year e customers são ambas a origem para a tabela alvo top_customer.

Gráfico de linhagem

Os gráficos de linhagem representam informações recolhidas pela API Data Lineage para uma entrada específica do Dataplex Universal Catalog. Um gráfico de linhagem mostra a linhagem a montante ou a jusante de uma única entrada raiz. Raiz refere-se à entrada para a qual está a ver a linhagem.

O gráfico de exemplo mostra dados de duas tabelas a serem transformados e, em seguida, unidos numa nova tabela, com um painel de detalhes que mostra o código SQL encaixado na parte inferior.
Exemplo de um gráfico de linhagem na Google Cloud consola.

O catálogo universal do Dataplex funciona com a API Data Lineage para identificar entradas cujo nome totalmente qualificado corresponde a entidades reconhecidas pela linhagem de dados. Para as entradas do catálogo universal do Dataplex correspondentes, pode aceder ao separador Linha de dados na respetiva página de detalhes e ver o gráfico.

Os gráficos de linhagem apresentam dois tipos de elementos:

  • Botões retangulares largos que representam entidades envolvidas na construção de informações de linhagem como origens ou destinos de um evento de linhagem.

  • Botões quadrados mais pequenos que representam processos responsáveis pela criação ou atualização das entidades de origem ou de destino. Os botões de processo usam ícones específicos do sistema de origem que os comunicou à API Data Lineage. Por exemplo, as tarefas do BigQuery usam o ícone Ícone do processo de linhagem do BigQuery..

Visualização do caminho de linhagem

As visualizações do caminho de linhagem ajudam a compreender os links de linhagem entre dois recursos selecionados. (Contrariamente ao gráfico de linhagem, que mostra a linhagem a montante ou a jusante de uma única entrada raiz, potencialmente para várias origens ou destinos.)

Escolhe o recurso raiz e um recurso de destino, e a Google Cloud consola apresenta os links de linhagem entre os dois recursos. Outros recursos e processos que não se encontram num caminho entre os dois recursos estão ocultos na visualização do caminho.

Exemplo da visualização do caminho de linhagem na consola Google Cloud .
Exemplo de uma visualização do caminho de linhagem na Google Cloud consola.

Vista de lista de linhagem

A vista de lista de linhagem apresenta informações detalhadas de linhagem para entidades numa única tabela.

Em comparação com o gráfico de linhagem, que é melhor para ver gráficos de linhagem relativamente pequenos, a vista de lista de linhagem permite-lhe ver informações de linhagem para entidades com muitas associações.

A imagem seguinte mostra um exemplo da vista de lista de linhagem na Google Cloud consola. A lista que se segue descreve a imagem com mais detalhes.

Exemplo da vista de lista de linhagem na consola Google Cloud .
Exemplo de uma vista de lista de linhagem na Google Cloud consola.
  • Cada linha na tabela representa uma única associação de linhagem entre duas entradas. No gráfico, estes nomes são representados como os elos de linhagem entre duas entradas, incluindo todos os nós de processo entre elas. Por exemplo, Source e Target são nós de recursos, com possivelmente vários nós de processos entre eles.

  • A opção Direção especifica a parte do fluxo de dados a apresentar na lista, em relação ao recurso raiz:

    • A montante: apresenta informações de linhagem para entradas que são origens de dados para a entrada selecionada. No gráfico de linhagem, estas entradas são as entradas que aparecem à esquerda da entrada selecionada.

    • A jusante: apresenta informações de linhagem para entradas que usam ou são derivadas da entrada selecionada. No gráfico de linhagem, estas entradas são as entradas que aparecem à direita da entrada selecionada.

  • A opção Intervalo de tempo permite-lhe filtrar informações de linhagem com base no tempo em que a linhagem ocorreu:

    • Hora de início: apresenta a linhagem ocorrida após a hora de início.

    • Hora de fim: apresenta a linhagem que ocorreu antes da hora de fim.

  • A profundidade refere-se à distância do recurso raiz de um recurso de origem ou derivado. A vista de lista apresenta até 1000 associações de linhagem, com a profundidade máxima da raiz de 10 associações de linhagem. Se existir alguma linhagem fora deste intervalo, recebe uma notificação. Pode ver a linhagem fora deste intervalo selecionando o nome de uma entidade diferente na vista de lista.

  • O painel Detalhes mostra informações sobre a origem do link, o destino do link e todos os processos que criaram este link.

  • Pode personalizar as colunas apresentadas na tabela e filtrar os resultados. Também pode exportar os resultados para um ficheiro CSV.

Monitorização automatizada da linhagem de dados

Quando ativa a API Data Lineage, Google Cloud os sistemas que suportam a linhagem de dados começam a comunicar o respetivo movimento de dados. Cada sistema integrado pode enviar informações de linhagem para um intervalo diferente de origens de dados. Para mais informações sobre todos os produtos suportados, consulte as secções seguintes.

BigQuery

A ativação da linhagem de dados no seu projeto do BigQuery faz com que o catálogo universal do Dataplex registe automaticamente informações de linhagem para:

As tarefas de cópia, consulta e carregamento do BigQuery são representadas como processos. Para ver os detalhes do processo, no gráfico de linhagem, clique em . Cada processo contém o job_id do BigQuery na lista de atributos para a tarefa do BigQuery mais recente.

Outros serviços

A linhagem de dados suporta a integração com os seguintes Google Cloud serviços:

Linha de dados para origens de dados personalizadas

Pode usar a API Data Lineage para registar manualmente informações de linhagem para qualquer origem de dados que não seja suportada pelos sistemas integrados.

O Dataplex Universal Catalog pode criar gráficos de linhagem para linhagem registada manualmente se usar um fullyQualifiedName que corresponda aos nomes totalmente qualificados das entradas existentes do Dataplex Universal Catalog. Se quiser registar a linhagem de uma origem de dados personalizada, crie primeiro uma entrada personalizada.

Cada processo para uma origem de dados personalizada pode conter sql chaves na lista de atributos. O valor dessa chave vai ser usado para renderizar o realce de código no painel de detalhes do gráfico de linhagem de dados. A declaração SQL é apresentada tal como foi fornecida. O utilizador é responsável por filtrar informações confidenciais. O nome da chave sql é sensível a maiúsculas e minúsculas.

OpenLineage

Se já estiver a usar o OpenLineage para recolher informações de linhagem de outras origens de dados, pode importar eventos do OpenLineage para o catálogo universal do Dataplex e apresentar estes eventos na consola. Google Cloud Para ver detalhes, consulte o artigo Integre com o OpenLineage.

Limitações

  • Todas as informações de linhagem são retidas no sistema apenas durante 30 dias.
  • As informações de linhagem persistem depois de remover a respetiva origem de dados relacionada. Ou seja, se remover uma tabela do BigQuery e a respetiva entrada do catálogo universal do Dataplex, pode continuar a ler a linhagem dessa tabela através da API durante um período máximo de 30 dias.

Aceda à linhagem de dados

Para mais informações sobre como aceder à linhagem de dados, consulte Use a linhagem de dados com Google Cloud sistemas e a API Data Lineage.

Preços

  • O Dataplex Universal Catalog usa o SKU de processamento premium para cobrar pela linhagem de dados. Para mais informações, consulte a secção Preços.

  • Para separar os custos da linhagem de dados de outros custos na SKU de processamento premium do Dataplex Universal Catalog, no relatório de faturação do Google Cloud, use a etiqueta goog-dataplex-workload-type com o valor LINEAGE.

  • Se chamar a API Data Lineage Origin sourceType com um valor diferente de CUSTOM, incorre em custos adicionais.

O que se segue?