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 os sistemas da Google Cloud Platform.
Antes de começar
Configure o seu projeto:
- 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.
-
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.enable
permission. 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.enable
permission. Learn how to grant roles. -
Visualizador do catálogo do Dataplex (
roles/dataplex.catalogViewer
) no projeto de recursos do catálogo universal do Dataplex -
Visualizador de linhagem de dados (
roles/datalineage.viewer
) no projeto onde usa o Dataflow -
Visualizador do Dataflow (
roles/dataflow.viewer
) no projeto onde usa o Dataflow - A linhagem de dados é suportada nas versões 2.63.0 e posteriores do SDK do Apache Beam.
- Tem de ativar a linhagem de dados por tarefa.
- A captura de dados não é instantânea. Os dados de linhagem de tarefas do Dataflow podem demorar alguns minutos a aparecer no catálogo universal do Dataplex.
As seguintes origens e destinos são suportados:
- Apache Kafka
- BigQuery
- Bigtable
- Cloud Storage
- JDBC (Java Database Connectivity)
- Pub/Sub
- Spanner
Os modelos do Dataflow que usam estas origens e destinos também capturam e publicam automaticamente eventos de linhagem.
process_id
: um identificador exclusivo que o catálogo universal do Dataplex usa para agrupar execuções de tarefas. Se não for especificado, é usado o nome da tarefa.process_name
: um nome legível para humanos para o processo de linhagem de dados. Se não for especificado, é usado o nome da tarefa com o prefixo"Dataflow "
.- Saiba mais sobre a linhagem de dados.
- Saiba como usar a linhagem de dados.
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 da 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:
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 de serviço do Dataflow
da seguinte forma:
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 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:
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
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
Veja a linhagem no catálogo universal do Dataplex
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.