Utilizzare la derivazione dei dati in Dataflow

La derivazione dei dati è una funzionalità di Dataflow che consente di monitorare il modo in cui i dati vengono trasferiti nei sistemi: da dove provengono, dove vengono inviati e a quali trasformazioni sono sottoposti.

Ogni pipeline che esegui utilizzando Dataflow ha diverse risorse dati associate. La derivazione di una risorsa dati include la sua origine, cosa succede e dove si sposta nel tempo. Con la derivazione dei dati, puoi monitorare il movimento end-to-end delle risorse dati, dall'origine alla destinazione finale.

Quando abiliti la derivazione dei dati per i tuoi job Dataflow, Dataflow acquisisce gli eventi di derivazione e li pubblica nell'API Data Lineage di Knowledge Catalog.

Per accedere alle informazioni sulla derivazione tramite Knowledge Catalog, consulta Utilizzare la derivazione dei dati con Google Cloud i sistemi.

Prima di iniziare

Configura il progetto:

  1. Accedi al tuo Google Cloud account. Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti senza costi per l'esecuzione, il test e il deployment dei workload.
  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

In Dataflow, devi anche abilitare la derivazione a livello di job. Consulta Abilitare la derivazione dei dati in Dataflow in questo documento.

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per visualizzare i grafici di visualizzazione della derivazione, chiedi all'amministratore di concederti i seguenti ruoli IAM:

Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.

Per ulteriori informazioni sui ruoli di derivazione dei dati, consulta Ruoli predefiniti per la derivazione dei dati.

Supporto e limitazioni

La derivazione dei dati in Dataflow presenta le seguenti limitazioni:

  • La derivazione dei dati è supportata nelle versioni 2.63.0 e successive dell'SDK Apache Beam.
  • Devi abilitare la derivazione dei dati per ogni job.
  • L'acquisizione dei dati non è istantanea. Potrebbero essere necessari alcuni minuti prima che i dati di derivazione dei job Dataflow vengano visualizzati in Knowledge Catalog.
  • Sono supportate le seguenti origini e sink:

    • Apache Kafka
    • BigQuery (i job di streaming in Python utilizzano il metodo legacy STREAMING_INSERT, che non supporta la derivazione dei dati. Per utilizzare la derivazione dei dati, passa a il metodo STORAGE_WRITE_API consigliato. Per ulteriori informazioni, consulta Scrivere da Dataflow a BigQuery.)
    • Bigtable
    • Cloud Storage
    • JDBC (Java Database Connectivity)
    • Pub/Sub
    • Spanner (il flusso di modifiche non è supportato)

    I modelli Dataflow che utilizzano queste origini e questi sink acquisiscono e pubblicano automaticamente anche gli eventi di derivazione.

Abilitare la derivazione dei dati in Dataflow

Devi abilitare la derivazione a livello di job. Per abilitare la derivazione dei dati, utilizza l'opzione di servizio enable_lineage Dataflow come segue:

Java

--dataflowServiceOptions=enable_lineage=true

Python

--dataflow_service_options=enable_lineage=true

Vai

--dataflow_service_options=enable_lineage=true

gcloud

Utilizza il gcloud dataflow jobs run comando con l'opzione additional-experiments. Se utilizzi i modelli flessibili, utilizza il gcloud dataflow flex-template run comando.

--additional-experiments=enable_lineage=true

Facoltativamente, puoi specificare uno o entrambi i seguenti parametri con l'opzione di servizio:

  • process_id: un identificatore univoco che Knowledge Catalog utilizza per raggruppare le esecuzioni dei job. Se non specificato, viene utilizzato il nome del job.
  • process_name: un nome leggibile per il processo di derivazione dei dati. Se non specificato, viene utilizzato il nome del job con il prefisso "Dataflow ".

Specifica queste opzioni come segue:

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

Vai

--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

Visualizzare la derivazione in Knowledge Catalog

La derivazione dei dati fornisce informazioni sulle relazioni tra le risorse del progetto e i processi che le hanno create. Puoi visualizzare le informazioni sulla derivazione dei dati nella Google Cloud console sotto forma di grafico o di singola tabella. Puoi anche recuperare le informazioni sulla derivazione dei dati dall'API Data Lineage sotto forma di dati JSON.

Per ulteriori informazioni, consulta Utilizzare la derivazione dei dati con i Google Cloud sistemi.

Disabilitare la derivazione dei dati in Dataflow

Se la derivazione dei dati è abilitata per un job specifico e vuoi disabilitarla, annulla il job esistente ed esegui una nuova versione del job senza l'opzione di servizio enable_lineage.

Fatturazione

L'utilizzo della derivazione dei dati in Dataflow non influisce sulla fattura di Dataflow, ma potrebbe comportare addebiti aggiuntivi sulla fattura di Knowledge Catalog. Per ulteriori informazioni, consulta Considerazioni sulla derivazione dei dati e Prezzi di Knowledge Catalog.

Passaggi successivi