Derivazione dei dati con il Catalogo universale Dataplex

Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1

Questa pagina spiega come attivare l'integrazione della lineage dei dati in Cloud Composer.

Informazioni sull'integrazione della derivazione dei dati

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

Cloud Composer utilizza il pacchetto apache-airflow-providers-openlineage per generare gli eventi di derivazione che vengono inviati all'API Data Lineage.

Questo pacchetto è già installato negli ambienti Cloud Composer. Se installi un'altra versione di questo pacchetto, l'elenco degli operatori supportati potrebbe cambiare. Ti consigliamo di farlo solo se necessario e di conservare la versione preinstallata del pacchetto in caso contrario.

  • La derivazione dei dati è disponibile per gli ambienti nelle stesse regioni delle regioni del Catalogo universale Dataplex che supportano la derivazione dei dati.

  • Se la derivazione dei dati è abilitata nel tuo ambiente Cloud Composer, Cloud Composer invia le informazioni sulla derivazione all'API Data Lineage per i DAG che utilizzano uno qualsiasi degli operatori supportati. Puoi anche inviare eventi di lineage personalizzati se vuoi segnalare la lineage per un operatore non supportato.

  • Puoi accedere alle informazioni sulla derivazione con:

    • API Data Lineage
    • Grafici di derivazione per le voci supportate in Dataplex Universal Catalog. Per saperne di più, consulta Grafici di derivazione nella documentazione di Dataplex Universal Catalog.

Quando crei un ambiente, l'integrazione della derivazione dei dati viene attivata automaticamente se vengono soddisfatte le seguenti condizioni:

  • L'API Data Lineage è abilitata nel tuo progetto. Per saperne di più, consulta la sezione Attivazione dell'API Data Lineage nella documentazione di Dataplex Universal Catalog.

  • Un backend Lineage personalizzato non è configurato in Airflow.

Puoi disattivare l'integrazione della lineage dei dati quando crei un ambiente.

Per un ambiente esistente, puoi attivare o disattivare l'integrazione della derivazione dei dati in qualsiasi momento.

Considerazioni sulle funzionalità in Cloud Composer

Cloud Composer effettua una chiamata RPC per creare eventi di lineage nei seguenti casi:

  • Quando un'attività Airflow inizia o termina
  • Quando inizia o termina l'esecuzione di un DAG

Per informazioni dettagliate su queste entità, consulta Modello di informazioni sulla genealogia e Riferimento API Lineage nella documentazione di Dataplex Universal Catalog.

Il traffico di derivazione emesso è soggetto alle quote nell'API Data Lineage. Cloud Composer utilizza la quota di scrittura.

I prezzi associati alla gestione dei dati di derivazione sono soggetti ai prezzi della derivazione. Consulta le considerazioni sulla derivazione dei dati.

Considerazioni sulle prestazioni in Cloud Composer

La derivazione dei dati viene segnalata al termine dell'esecuzione dell'attività Airflow. In media, la generazione di report sulla derivazione dei dati richiede circa 1-2 secondi.

Ciò non influisce sul rendimento dell'attività stessa: le attività Airflow non non riescono se la derivazione non viene segnalata correttamente all'API Lineage. Non ci sono conseguenze sulla logica principale dell'operatore, ma l'intera istanza del task viene eseguita un po' più a lungo per tenere conto dei dati sulla derivazione dei report.

Un ambiente che genera report sulla lineage dei dati avrà un leggero aumento dei costi associati, a causa del tempo aggiuntivo necessario per generare i report sulla lineage dei dati.

Conformità

La lineage dei dati offre diversi livelli di supporto per funzionalità come i Controlli di servizio VPC. Esamina le considerazioni sulla derivazione dei dati per assicurarti che i livelli di assistenza corrispondano ai requisiti del tuo ambiente.

Prima di iniziare

Controllare se un operatore è supportato

Il supporto della derivazione dei dati è fornito dal pacchetto del provider in cui si trova l'operatore:

  1. Controlla i log delle modifiche del pacchetto del fornitore in cui si trova l'operatore per le voci che aggiungono il supporto di OpenLineage.

    Ad esempio, BigQueryToBigQueryOperator supporta OpenLineage a partire dalla apache-airflow-providers-google versione 11.0.0.

  2. Controlla la versione del pacchetto del fornitore utilizzata dal tuo ambiente. Per farlo, consulta l'elenco dei pacchetti preinstallati per la build di Airflow utilizzata nel tuo ambiente. Puoi anche installare una versione diversa del pacchetto nel tuo ambiente.

Inoltre, la pagina Classi supportate della documentazione di apache-airflow-providers-openlineage elenca gli operatori supportati più recenti.

Configura l'integrazione della derivazione dei dati

L'integrazione della derivazione dei dati per Cloud Composer viene gestita in base all'ambiente. Ciò significa che l'attivazione della funzionalità richiede due passaggi:

  1. Abilita l'API Data Lineage nel tuo progetto.
  2. Abilita l'integrazione della derivazione dei dati in un ambiente Cloud Composer specifico.

Abilitare la derivazione dei dati in Cloud Composer

Console

  1. Nella console Google Cloud , vai alla pagina Ambienti.

    Vai ad Ambienti

  2. Nell'elenco degli ambienti, fai clic sul nome del tuo ambiente. Viene visualizzata la pagina Dettagli ambiente.

  3. Seleziona la scheda Configurazione ambiente.

  4. Nella sezione Integrazione della derivazione dei dati Dataplex, fai clic su Modifica.

  5. Nel riquadro Integrazione della derivazione dei dati Dataplex, seleziona Abilita l'integrazione con la derivazione dei dati Dataplex e fai clic su Salva.

gcloud

Utilizza l'argomento --enable-cloud-data-lineage-integration.

gcloud composer environments update ENVIRONMENT_NAME \
    --location LOCATION \
    --enable-cloud-data-lineage-integration

Sostituisci quanto segue:

  • ENVIRONMENT_NAME: il nome del tuo ambiente.
  • LOCATION: la regione in cui si trova l'ambiente.

Esempio:

gcloud composer environments update example-environment \
    --location us-central1 \
    --enable-cloud-data-lineage-integration

Disabilitare la derivazione dei dati in Cloud Composer

La disattivazione dell'integrazione della derivazione dei dati in un ambiente Cloud Composer non disattiva l'API Data Lineage. Se vuoi disattivare completamente la generazione di report sulla derivazione per il tuo progetto, disattiva anche l'API Data Lineage. Vedi Disabilitare i servizi.

Console

  1. Nella console Google Cloud , vai alla pagina Ambienti.

    Vai ad Ambienti

  2. Nell'elenco degli ambienti, fai clic sul nome del tuo ambiente. Viene visualizzata la pagina Dettagli ambiente.

  3. Seleziona la scheda Configurazione ambiente.

  4. Nella sezione Integrazione della derivazione dei dati Dataplex, fai clic su Modifica.

  5. Nel riquadro Integrazione della derivazione dei dati Dataplex, seleziona Disabilita l'integrazione con la derivazione dei dati Dataplex e fai clic su Salva.

gcloud

Utilizza l'argomento --disable-cloud-data-lineage-integration.

gcloud composer environments update ENVIRONMENT_NAME \
    --location LOCATION \
    --disable-cloud-data-lineage-integration

Sostituisci quanto segue:

  • ENVIRONMENT_NAME: il nome del tuo ambiente.
  • LOCATION: la regione in cui si trova l'ambiente.

Esempio:

gcloud composer environments update example-environment \
    --location us-central1 \
    --disable-cloud-data-lineage-integration

Inviare eventi di derivazione negli operatori supportati

Se la derivazione dei dati è attivata, gli operatori supportati inviano automaticamente gli eventi di derivazione. Non devi modificare il codice DAG.

Ad esempio, eseguendo la seguente attività:

task = BigQueryInsertJobOperator(
    task_id='snapshot_task',
    dag=dag,
    location='<dataset-location>',
    configuration={
        'query': {
            'query': 'SELECT * FROM dataset.tableA',
            'useLegacySql': False,
            'destinationTable': {
                'project_id': 'example-project',
                'dataset_id': 'dataset',
                'table_id': 'tableB',
            },
        }
    },
)

Il risultato è la creazione del seguente grafico di derivazione nella UI di Dataplex Universal Catalog:

Esempio di grafico della derivazione nell&#39;interfaccia utente di Dataplex.
Figura 1. Esempio di grafico della derivazione per una tabella BigQuery nella UI di Dataplex Universal Catalog.

Inviare eventi di derivazione personalizzati

Puoi inviare eventi di lineage personalizzati se vuoi generare report sulla lineage per un operatore che non è supportato per la generazione automatica di report sulla lineage.

Ad esempio, per inviare eventi personalizzati con:

  • BashOperator: modifica il parametro inlets o outlets nella definizione del task.
  • PythonOperator: modifica il parametro task.inlets o task.outlets nella definizione dell'attività.
  • Puoi utilizzare AUTO per il parametro inlets. Il valore viene impostato in modo che sia uguale al outlets della relativa attività upstream.

Il seguente esempio mostra l'utilizzo di ingressi e uscite:

from airflow.composer.data_lineage.entities import BigQueryTable
from airflow.lineage import AUTO

...

bash_task = BashOperator(
    task_id="bash_task",
    dag=dag,
    bash_command="sleep 0",
    inlets=[
        BigQueryTable(
            project_id="example-project",
            dataset_id="dataset",
            table_id="table1",
        )
    ],
    outlets=[
        BigQueryTable(
            project_id="example-project",
            dataset_id="dataset",
            table_id="table2",
        )
    ],
)


def _python_task(task):
    print("Python task")


python_task = PythonOperator(
    task_id="python_task",
    dag=dag,
    python_callable=_python_task,
    inlets=[
        AUTO,
        BigQueryTable(
            project_id="example-project",
            dataset_id="dataset",
            table_id="table3",
        ),
    ],
    outlets=[
        BigQueryTable(
            project_id="example-project",
            dataset_id="dataset",
            table_id="table4",
        )
    ],
)

bash_task >> python_task

Di conseguenza, nella UI di Dataplex Universal Catalog viene creato il seguente grafico della derivazione:

Esempio di grafico della derivazione per eventi personalizzati nell&#39;interfaccia utente di Dataplex.
Figura 2. Esempio di grafico della derivazione per più tabelle BigQuery nella UI di Dataplex Universal Catalog.

Visualizza i log di derivazione in Cloud Composer

Puoi esaminare i log relativi alla derivazione dei dati utilizzando il link nella pagina Configurazione ambiente nella sezione Integrazione della derivazione dei dati di Dataplex Universal Catalog.

Risoluzione dei problemi

Se i dati di derivazione non vengono segnalati all'API Lineage o non riesci a visualizzarli nel catalogo universale Dataplex, prova i seguenti passaggi per la risoluzione dei problemi:

  • Assicurati che l'API Data Lineage sia abilitata nel progetto del tuo ambiente Cloud Composer.
  • Verifica se l'integrazione della derivazione dei dati è abilitata nell'ambiente Cloud Composer.
  • Controlla se l'operatore che utilizzi è incluso nel supporto dei report sulla derivazione automatica. Vedi Operatori Airflow supportati.
  • Controlla i log di derivazione in Cloud Composer per individuare possibili problemi.

Passaggi successivi