A linhagem de dados é um recurso do Dataflow que permite acompanhar como os dados se movimentam nos sistemas: origem, destino 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 ativo 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 o movimento de ponta a ponta dos seus recursos de dados, da origem ao destino final.
Quando você ativa a linhagem de dados para seus jobs do Dataflow, o Dataflow captura eventos de linhagem e os publica na API Data Lineage do Dataplex.
Para acessar informações de linhagem pelo Dataplex, consulte Usar a linhagem de dados com Google Cloud sistemas.
Antes de começar
Configure o projeto:
- Sign in to your Google Cloud 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.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Dataplex, BigQuery, and Data lineage APIs.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Dataplex, BigQuery, and Data lineage APIs.
No Dataflow, também é necessário ativar a linhagem no nível do job. Consulte Ativar a linhagem de dados no Dataflow 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 Dataplex -
Visualizador 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 por meio de papéis personalizados ou de outros papéis predefinidos.
Para mais informações sobre papéis de linhagem de dados, consulte Papéis predefinidos para a 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 para cada 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 Dataplex.
As seguintes fontes e coletores são compatíveis:
- Apache Kafka
- BigQuery
- Bigtable
- Cloud Storage
- JDBC (Java Database Connectivity)
- Pub/Sub
- Spanner
Os modelos do Dataflow que usam essas origens e destinos 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 enable_lineage
opção de serviço do 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 comando
gcloud dataflow jobs run
com a opção additional-experiments
. Se você estiver usando modelos Flex, use o comando
gcloud dataflow flex-template run
.
--additional-experiments=enable_lineage=true
Também é 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 Dataplex 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 estas 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
Visualizar a linhagem no Dataplex
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 as informações de linhagem de dados no console do Google Cloud na forma de um gráfico ou de uma única tabela. Também é possível recuperar informações de linhagem de dados da API Data Lineage no formato 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 sem a opção de serviço enable_lineage
.
Faturamento
O uso da linhagem de dados no Dataflow não afeta sua fatura, mas pode gerar cobranças adicionais na fatura do Dataplex. Para mais informações, consulte Considerações sobre a linhagem de dados e Preços do Dataplex.
A seguir
- Saiba mais sobre a linhagem de dados.
- Saiba como usar a linhagem de dados.