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 cronologia 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 spostati 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 eredità 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 mantenere 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 consistenza dei dati è abilitata nel tuo ambiente Cloud Composer, Cloud Composer registra le informazioni sulla consistenza nell'API Data Lineage per i DAG che utilizzano uno degli operatori supportati. Puoi anche inviare eventi di eredità personalizzati se vuoi segnalare l'eredità per un operatore non supportato.

  • Puoi accedere alle informazioni sulla cronologia con:

    • API Data Lineage
    • Grafici di derivazione per le voci supportate nel Catalogo universale Dataplex. Per ulteriori informazioni, consulta Grafici della derivazione nella documentazione del Catalogo universale Dataplex.

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

  • L'API Data Lineage sia abilitata nel progetto. Per ulteriori informazioni, consulta Abilitazione dell'API Data Lineage nella documentazione del catalogo universale Dataplex.

  • In Airflow non è configurato un backend della struttura personalizzato.

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

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

Considerazioni sulle funzionalità in Cloud Composer

Cloud Composer esegue una chiamata RPC per creare eventi di eredità 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 il modello di informazioni sulla derivazione e la documentazione di riferimento dell'API Lineage nel Catalogo universale Dataplex.

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

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

Considerazioni sul rendimento in Cloud Composer

La derivazione dei dati viene registrata al termine dell'esecuzione dell'attività Airflow. In media, i report sulla tracciabilità dei dati richiedono circa 1-2 secondi.

Ciò non influisce sul rendimento dell'attività stessa: le attività Airflow non falliscono se la sequenza non viene registrata correttamente nell'API Lineage. La logica dell'operatore principale non è interessata, ma l'intera istanza dell'attività impiega un po' più di tempo per tenere conto dei dati sulla struttura report.

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

Conformità

La consistenza dei dati offre diversi livelli di assistenza per funzionalità come i Controlli di servizio VPC. Esamina le considerazioni sulla consistenza 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 tracciabilità dei dati viene fornito dal pacchetto del fornitore in cui si trova l'operatore:

  1. Controlla i log delle modifiche del pacchetto del fornitore in cui si trova l'operatore per verificare la presenza di 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 provider utilizzato dal tuo ambiente. Per farlo, consulta l'elenco dei pacchetti preinstallati per la versione di Cloud Composer utilizzata nel tuo ambiente. Puoi anche installare una versione diversa del pacchetto nel tuo ambiente.

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

Configurare l'integrazione della derivazione dei dati

L'integrazione della derivazione dei dati per Cloud Composer viene gestita su base per 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.

Attivare la derivazione dei dati in Cloud Composer

Console

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

    Vai ad Ambienti

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

  3. Seleziona la scheda Configurazione dell'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

Disattivare la derivazione dei dati in Cloud Composer

La disattivazione dell'integrazione della derivazione in un ambiente Cloud Composer non comporta la disattivazione dell'API Data Lineage. Se vuoi disattivare completamente i report sulla derivazione per il tuo progetto, disattiva anche l'API Data Lineage. Consulta la sezione Disattivare i servizi.

Console

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

    Vai ad Ambienti

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

  3. Seleziona la scheda Configurazione dell'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 albero genealogico negli operatori supportati

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

Ad esempio, esegui 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',
            },
        }
    },
)

Viene creato il seguente grafico della struttura nella UI del Catalogo universale Dataplex:

Esempio di grafico della struttura nella UI di Dataplex.
Figura 1. Esempio di grafico della struttura per una tabella BigQuery nell'interfaccia utente del Catalogo universale Dataplex.

Inviare eventi di derivazione personalizzati

Puoi inviare eventi di appartenenza al lignaggio personalizzati se vuoi registrare la parentela per un operatore che non è supportato per i report automatici sulla parentela.

Ad esempio, per inviare eventi personalizzati con:

  • BashOperator: modifica il parametro inlets o outlets nella definizione della tâche.
  • PythonOperator: modifica il parametro task.inlets o task.outlets nella definizione dell'attività.
  • Puoi utilizzare AUTO per il parametro inlets. Il valore viene impostato su outlets dell'attività a monte.

L'esempio seguente 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, nell'interfaccia utente del Catalogo universale Dataplex viene creato il seguente grafico della struttura:

Grafo di derivazione di esempio per gli eventi personalizzati nell&#39;interfaccia utente di Dataplex.
Figura 2. Esempio di grafico della derivazione per più tabelle BigQuery nell'interfaccia utente del Catalogo universale Dataplex.

Visualizzare i log della cronologia in Cloud Composer

Puoi esaminare i log relativi alla derivazione dei dati utilizzando il link nella pagina Configurazione dell'ambiente della sezione Integrazione della derivazione dei dati del Catalogo universale Dataplex.

Risoluzione dei problemi

Se i dati sulla struttura non vengono registrati nell'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 è attivata nell'ambiente Cloud Composer.
  • Verifica se l'operatore che utilizzi è incluso nel supporto per i report sulla provenienza automatica. Consulta Operatori di Airflow supportati.
  • Controlla i log della cronologia in Cloud Composer per individuare eventuali problemi.

Passaggi successivi