Use a linhagem de dados no Dataflow

A linhagem de dados é uma funcionalidade do Dataflow que lhe permite acompanhar a forma como os dados se movem nos seus sistemas: de onde vêm, para onde são transmitidos e que transformações lhes são aplicadas.

Cada pipeline que executa através do Dataflow tem vários recursos de dados associados. A linhagem de um recurso de dados inclui a respetiva origem, o que lhe acontece e onde se move ao longo do tempo. Com a linhagem de dados, pode acompanhar o movimento completo dos seus recursos de dados, desde a origem até ao destino final.

Quando ativa a linhagem de dados para as suas tarefas do Dataflow, o Dataflow captura eventos de linhagem e publica-os na API Data Lineage do catálogo universal do Dataplex.

Para aceder a informações de linhagem através do catálogo universal do Dataplex, consulte o artigo Use a linhagem de dados com sistemas da Google Cloud Platform.

Antes de começar

Configure o seu projeto:

  1. Sign in to your Google Cloud Platform account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. Verify that billing is enabled for your Google Cloud project.

  3. Enable the Dataplex, BigQuery, and Data lineage APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  4. Verify that billing is enabled for your Google Cloud project.

  5. Enable the Dataplex, BigQuery, and Data lineage APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  6. No Dataflow, também tem de ativar a linhagem ao nível da tarefa. Consulte o artigo Ative a linhagem de dados no Dataflow neste documento.

    Funções necessárias

    Para receber as autorizações de que precisa para ver gráficos de visualização de linhagem, peça ao seu administrador que lhe conceda as seguintes funções de IAM:

    Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.

    Também pode conseguir as autorizações necessárias através de funções personalizadas ou outras funções predefinidas.

    Para mais informações sobre as funções de linhagem de dados, consulte o artigo Funções predefinidas para a linhagem de dados.

    Apoio técnico e limitações

    A linhagem de dados no Dataflow tem as seguintes limitações:

    • A linhagem de dados é suportada nas versões 2.63.0 e posteriores do SDK Apache Beam.
    • Tem de ativar a linhagem de dados por tarefa.
    • A captura de dados não é instantânea. Pode demorar alguns minutos até que os dados de linhagem de tarefas do Dataflow apareçam no Dataplex Universal Catalog.
    • São suportados os seguintes ganhos e despesas:

      • Apache Kafka
      • BigQuery (as tarefas de streaming em Python usam o método STREAMING_INSERT antigo, que não suporta a linhagem de dados. Para usar a linhagem de dados, mude para o método STORAGE_WRITE_API recomendado. Para mais informações, consulte o artigo Escreva do Dataflow para o BigQuery.)
      • Bigtable
      • Cloud Storage
      • JDBC (Java Database Connectivity)
      • Pub/Sub
      • Spanner (a stream de alterações não é suportada)

      Os modelos do Dataflow que usam estas origens e destinos também capturam e publicam automaticamente eventos de linhagem.

    Ative a linhagem de dados no Dataflow

    Tem de ativar a linhagem ao nível da tarefa. Para ativar a linhagem de dados, use a enable_lineage opção do serviço Dataflow da seguinte forma:

    Java

    --dataflowServiceOptions=enable_lineage=true
    

    Python

    --dataflow_service_options=enable_lineage=true
    

    Ir

    --dataflow_service_options=enable_lineage=true
    

    gcloud

    Use o comando gcloud dataflow jobs run com a opção additional-experiments. Se estiver a usar modelos flexíveis, use o comando gcloud dataflow flex-template run.

    --additional-experiments=enable_lineage=true
    

    Opcionalmente, pode especificar um ou ambos os seguintes parâmetros com a opção de serviço:

    • process_id: um identificador exclusivo que o Dataplex Universal Catalog usa para agrupar execuções de tarefas. Se não for especificado, é usado o nome da tarefa.
    • process_name: um nome legível por humanos para o processo de linhagem de dados. Se não for especificado, é usado o nome da tarefa com o prefixo "Dataflow ".

    Especifique estas opções da seguinte forma:

    Java

    --dataflowServiceOptions=enable_lineage=process_id=PROCESS_ID;process_name=DISPLAY_NAME
    

    Python

    --dataflow_service_options=enable_lineage=process_id=PROCESS_ID;process_name=DISPLAY_NAME
    

    Ir

    --dataflow_service_options=enable_lineage=process_id=PROCESS_ID;process_name=DISPLAY_NAME
    

    gcloud

    --additional-experiments=enable_lineage=process_id=PROCESS_ID;process_name=DISPLAY_NAME
    

    Veja a linhagem no Dataplex Universal Catalog

    A linhagem de dados fornece informações sobre as relações entre os recursos do seu projeto e os processos que os criaram. Pode ver informações de linhagem de dados na consola no formato de um gráfico ou de uma única tabela. Google Cloud Também pode obter informações de linhagem de dados da API Data Lineage sob a forma de dados JSON.

    Para mais informações, consulte o artigo Use a linhagem de dados com os sistemas da Google Cloud Platform.

    Desative a linhagem de dados no Dataflow

    Se a linhagem de dados estiver ativada para uma tarefa específica e quiser desativá-la, cancele a tarefa existente e execute uma nova versão da tarefa sem a opção de serviço enable_lineage.

    Faturação

    A utilização da linhagem de dados no Dataflow não afeta a fatura do Dataflow, mas pode incorrer em cobranças adicionais na fatura do catálogo universal do Dataplex. Para mais informações, consulte as Considerações sobre a linhagem de dados e os preços do catálogo universal do Dataplex.

    O que se segue?