Sobre a linhagem de dados

A linhagem de dados é um recurso do Dataplex que permite rastrear como os dados se movem pelos sistemas: de onde eles vêm, de onde são transmitidos e quais transformações são aplicadas a eles.

Por que a linhagem de dados é necessária?

Lidar com grandes conjuntos de dados geralmente envolve a transformação de dados em entidades adaptadas às necessidades de um projeto específico: arquivos de texto, tabelas, relatórios, painéis, modelos.

Por exemplo, imagine que você tem uma loja on-line em que registra todas as compras em uma única tabela SQL. Para facilitar o trabalho dos analistas com os dados, você começa a executar jobs que extraem informações dessa única tabela e produzem tabelas menores por região, marca ou preço promocional. Seus analistas começam a fazer o mesmo: eles realizam mais transformações, mesclando essas tabelas menores com outras fontes de dados para produzir ainda mais tabelas.

Isso pode se tornar um grande desafio para as partes interessadas:

  • Os consumidores de dados não podem usar uma ferramenta de autoatendimento para entender se os dados vêm de uma fonte autorizada.
  • Os engenheiros de dados não podem causar problemas devido à falta de uma maneira confiável de rastrear todas as transformações de dados.
  • Os engenheiros e analistas de dados não podem avaliar totalmente o possível impacto antes de modificar ou excluir tabelas.
  • Os responsáveis pelo gerenciamento de dados não entendem como os dados sensíveis são usados em toda a organização e não garantem a adesão aos requisitos regulatórios.

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

  • Entenda como os dados são extraídos e transformados com a ajuda de visualizações de gráficos de linhagem.
  • Rastrear erros relacionados a entradas e operações de dados de volta às causas raiz.
  • Melhore a gestão da mudança por meio da análise de impacto: evite inatividade ou erros inesperados, entenda as entradas dependentes e colabore com as partes interessadas relevantes.

Gráfico de visualização da linhagem

Os gráficos de linhagem representam as informações coletadas pela API Data Lineage para uma entrada específica do Data Catalog:

O gráfico de amostra mostra dados de duas tabelas sendo transformadas e mescladas
  em uma nova tabela, com um painel de detalhes mostrando o código SQL encaixado na parte de baixo.
Figura 1. Exemplo de um gráfico de visualização de linhagem na interface do Dataplex.

O Dataplex funciona com a API Data Lineage para identificar entradas com nome totalmente qualificado que corresponda a entidades reconhecidas pela linhagem de dados. Para entradas do Dataplex correspondentes, é possível acessar a guia Linhagem na página de detalhes e visualizar o gráfico.

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

  • Botões largos e retangulares que representam entidades envolvidas na construção de informações de linhagem como fontes ou destinos de um evento de linhagem.
  • Botões quadrados menores que representam os processos responsáveis por criar ou atualizar as entidades de origem ou de destino. Os botões de processo usam ícones específicos do sistema de origem que os reportou à API Data Lineage. Por exemplo, os jobs do BigQuery usam o ícone Ícone do processo de linhagem do BigQuery..

Modelo de informações da linhagem de dados

Em sua forma básica, a linhagem é um registro de dados sendo transformados de origens em destinos. A API Data Lineage coleta essas informações e as organiza em um modelo de dados hierárquico usando os conceitos de processos, execuções e eventos.

Processo

Um processo é a definição de uma operação de transformação de dados compatível com um sistema específico. No contexto da linhagem do BigQuery, um process é um dos tipos de job compatíveis.

Execução

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

Evento

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

Os eventos contêm uma lista de links que definem qual entrada foi a origem e qual foi o destino em um evento específico. Embora os eventos sejam usados para calcular os gráficos de visualização de linhagem, eles não são expostos diretamente no console do Google Cloud. Eles podem ser criados, lidos e excluídos (mas não atualizados) usando a API Data Lineage.

Exemplo

Considere o exemplo a seguir em que os dados são copiados entre as tabelas do BigQuery:

Um exemplo extrai dados de tabelas chamadas customer_year e customers para derivar uma tabela chamada top_customer.
Figura 2. Exemplo de gráfico mostrando 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 instrução INSERT.

Cada execução dessa instrução SQL constituiria uma run individual. As execuções contêm eventos. Elas registram quais tabelas foram usadas como origens e quais foram usadas como destinos. Neste exemplo, as tabelas customer_year e customers são a origem da tabela top_customer de destino.

Rastreamento automatizado da linhagem de dados

Quando você ativa a API Data Lineage, os sistemas do Google Cloud compatíveis com a linhagem de dados começam a informar a movimentação de dados. Cada sistema integrado pode enviar informações de linhagem para um intervalo diferente de fontes de dados. Consulte as seções a seguir para mais detalhes sobre todos os produtos compatíveis.

BigQuery

Ativar a linhagem de dados no projeto do BigQuery faz com que o Dataplex registre automaticamente as informações de linhagem de:

Os jobs de cópia, consulta e carregamento do BigQuery são representados como processos. Clique no ícone de lupa no gráfico de visualização da linhagem para ver os detalhes do processo. Cada processo contém o job_id do BigQuery na lista de atributos do job mais recente do BigQuery.

Outros serviços

A linhagem de dados aceita a integração com estes serviços do Google Cloud:

Linhagem de dados para origens personalizadas

É possível usar a API Data Lineage no Dataplex para registrar manualmente as informações de linhagem de qualquer fonte de dados que não tenha suporte dos sistemas integrados.

O Dataplex poderá criar gráficos de visualização para linhagem registrada manualmente se você usar um fullyQualifiedNames que corresponda aos nomes totalmente qualificados das entradas atuais do Data Catalog. Se você quiser registrar a linhagem de uma fonte de dados personalizada, primeiro crie uma entrada personalizada do Data Catalog.

Cada processo de origem de dados personalizada pode conter a chave sql na lista de atributos. O valor dessa chave será usado para renderizar o destaque do código no painel de detalhes do gráfico de linhagem de dados. A instrução SQL será exibida como foi fornecida. O usuário é responsável por filtrar as informações sensíveis. O nome da chave sql diferencia maiúsculas de minúsculas.

OpenLineage

Se você já usa o OpenLineage para coletar informações de linhagem de outras fontes de dados, é possível importar eventos do OpenLineage para o Dataplex e exibi-los no console do Google Cloud. Para mais detalhes, consulte Integrar ao OpenLineage.

Limitações dos recursos atuais

  • Todas as informações de linhagem são retidas no sistema por apenas 30 dias.
  • As informações da linhagem persistem depois que você remove a fonte de dados relacionada. Ou seja, se você remover uma tabela do BigQuery e a entrada do Data Catalog, ainda poderá ler a linhagem dessa tabela usando a API por até 30 dias.

Acessar a linhagem de dados

É possível acessar as funcionalidades da linhagem de dados usando:

A seguir