A linhagem de dados é um recurso do Dataflow que permite monitorar como os dados se movimentam nos sistemas: de onde vêm, para onde vão e quais transformações são aplicadas a eles.
Cada pipeline executado usando o Dataflow tem vários recursos de dados associados. A linhagem de um recurso de dados inclui a origem, o que acontece com ele e para onde ele se move ao longo do tempo. Com a linhagem de dados, é possível acompanhar a movimentação de ponta a ponta dos recursos de dados, da origem ao destino final.
Quando você ativa a linhagem de dados para jobs do Dataflow, o Dataflow captura eventos de linhagem e os publica na API Data Lineage do Catálogo de Conhecimento.
Para acessar informações de linhagem pelo Catálogo de Conhecimento, consulte Usar a linhagem de dados com Google Cloud sistemas.
Antes de começar
Configure o projeto:
- Faça login na sua Google Cloud conta do. Se você começou a usar o Google Cloudagora, crie uma conta para avaliar o desempenho dos nossos produtos em situações reais. Clientes novos também recebem US $300 em créditos para executar, testar e implantar cargas de trabalho.
-
Verify that billing is enabled for your Google Cloud project.
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 theserviceusage.services.enablepermission. Learn how to grant roles.-
Verify that billing is enabled for your Google Cloud project.
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 theserviceusage.services.enablepermission. Learn how to grant roles.
No Dataflow, também é necessário ativar a linhagem no nível do job. Consulte Ativar a linhagem de dados no Dataflow em neste documento.
Funções exigidas
Para receber as permissões necessárias para visualizar gráficos de visualização de linhagem, peça ao seu administrador para conceder a você os seguintes papéis do IAM:
-
Leitor do Dataplex Catalog (
roles/dataplex.catalogViewer) no projeto de recursos do Catálogo de Conhecimento -
Leitor da linhagem de dados (
roles/datalineage.viewer) no projeto em que você usa o Dataflow -
Visualizador do Dataflow (
roles/dataflow.viewer) no projeto em que você usa o Dataflow
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Também é possível conseguir as permissões necessárias usando personalizados papéis ou outros predefinidos papéis.
Para mais informações sobre papéis de linhagem de dados, consulte Papéis predefinidos para linhagem de dados.
Suporte e limitações
A linhagem de dados no Dataflow tem as seguintes limitações:
- A linhagem de dados é compatível com as versões 2.63.0 e mais recentes do SDK do Apache Beam.
- É necessário ativar a linhagem de dados por job.
- A captura de dados não é instantânea. Pode levar alguns minutos para que os dados de linhagem do job do Dataflow apareçam no Catálogo de Conhecimento.
Há suporte para as seguintes fontes e coletores:
- Apache Kafka
- BigQuery (jobs de streaming em Python usam o método legado
STREAMING_INSERT, que não oferece suporte à linhagem de dados. Para usar a linhagem de dados, mude para o método recomendadoSTORAGE_WRITE_API. Para mais informações, consulte Gravar do Dataflow para o BigQuery.) - Bigtable
- Cloud Storage
- JDBC (Java Database Connectivity)
- Pub/Sub
- Spanner (o fluxo de alterações não é compatível)
Os modelos do Dataflow que usam essas fontes e coletores também capturam e publicam eventos de linhagem automaticamente.
Ativar a linhagem de dados no Dataflow
É necessário ativar a linhagem no nível do job. Para ativar a linhagem de dados,
use a opção de serviço enable_lineage
Dataflow
da seguinte maneira:
Java
--dataflowServiceOptions=enable_lineage=true
Python
--dataflow_service_options=enable_lineage=true
Go
--dataflow_service_options=enable_lineage=true
gcloud
Use o
gcloud dataflow jobs run comando
com a additional-experiments opção. Se você estiver usando modelos Flex, use
o
gcloud dataflow flex-template run
comando.
--additional-experiments=enable_lineage=true
Opcionalmente, é possível especificar um ou ambos os parâmetros a seguir com a opção de serviço:
process_id: um identificador exclusivo que o Catálogo de Conhecimento usa para agrupar execuções de jobs. Se não for especificado, o nome do job será usado.process_name: um nome legível para o processo de linhagem de dados. Se não for especificado, o nome do job com o prefixo"Dataflow "será usado.
Especifique essas opções da seguinte maneira:
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
Go
--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
Conferir a linhagem no Catálogo de Conhecimento
A linhagem de dados fornece informações sobre as relações entre os recursos do projeto e os processos que os criaram. É possível conferir informações de linhagem de dados no Google Cloud console na forma de um gráfico ou uma única tabela. Também é possível recuperar informações de linhagem de dados da API Data Lineage na forma de dados JSON.
Para mais informações, consulte Usar a linhagem de dados com Google Cloud sistemas.
Desativar a linhagem de dados no Dataflow
Se a linhagem de dados estiver ativada para um job específico e você quiser desativá-la, cancele o job atual e execute uma nova versão dele sem a opção de serviço enable_lineage.
Faturamento
O uso da linhagem de dados no Dataflow não afeta a fatura do Dataflow, mas pode gerar cobranças adicionais na fatura do Catálogo de Conhecimento. Para mais informações, consulte Considerações sobre a linhagem de dados e Preços do Catálogo de Conhecimento.
A seguir
- Saiba mais sobre a linhagem de dados.
- Aprenda a usar a linhagem de dados.