Managed Airflow (Gen 3) | Managed Airflow (Gen 2) | Managed Airflow (Legacy Gen 1)
Questa pagina spiega come abilitare l'integrazione della tracciabilità dei dati in Managed Airflow.
Informazioni sull'integrazione della tracciabilità dei dati
La derivazione dei dati è una funzionalità di Knowledge 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.
Managed Airflow 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 Managed Airflow. 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.
La derivazione dei dati è disponibile per gli ambienti nelle stesse regioni delle regioni di Knowledge Catalog che la supportano.
Se la derivazione dei dati è abilitata nel tuo ambiente Managed Service for Apache Airflow, Managed Service for Apache Airflow segnala le informazioni sulla derivazione all' API Data Lineage per i DAG che utilizzano uno degli operatori supportati. Puoi anche inviare eventi di tracciabilità personalizzati se vuoi segnalare la tracciabilità per un operatore non supportato.
Puoi accedere alle informazioni sulla tracciabilità con:
- API Data Lineage
- Grafici di derivazione per le voci supportate in Knowledge Catalog. Per saperne di più, consulta la sezione Grafici di derivazione nella documentazione di Knowledge Catalog.
Quando crei un ambiente, l'integrazione della derivazione dei dati viene abilitata automaticamente se vengono soddisfatte le seguenti condizioni:
L'API Data Lineage è abilitata nel tuo progetto. Per saperne di più, consulta la sezione Abilitare l'API Data Lineage nella documentazione di Knowledge Catalog.
Un backend di tracciabilità personalizzato non è configurato in Airflow.
Puoi disabilitare l'integrazione della tracciabilità dei dati quando crei un ambiente.
Per un ambiente esistente, puoi abilitare o disabilitare l'integrazione della tracciabilità dei dati in qualsiasi momento.
Considerazioni sulle funzionalità in Managed Service for Apache Airflow
Managed Airflow effettua una chiamata RPC per creare eventi di tracciabilità nei seguenti casi:
- Quando un'attività Airflow inizia o termina
- Quando l'esecuzione di un DAG inizia o termina
Per i dettagli su queste entità, consulta il modello di informazioni sulla derivazione e il riferimento all'API Lineage nella documentazione di Knowledge Catalog.
Il traffico di derivazione emesso è soggetto a quote nell'API Data Lineage. Managed Airflow utilizza la quota di scrittura.
I prezzi associati alla gestione dei dati di tracciabilità sono soggetti ai prezzi della tracciabilità. Consulta le considerazioni sulla derivazione dei dati.
Considerazioni sulle prestazioni in Managed Service for Apache Airflow
La tracciabilità 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 sulle prestazioni dell'attività stessa: le attività Airflow non hanno esito negativo se la derivazione non viene segnalata correttamente all'API Lineage. Non c'è alcun impatto sulla logica principale dell'operatore, ma l'intera istanza dell'attività viene eseguita un po' più a lungo per tenere conto della generazione di report sui dati di tracciabilità.
Un ambiente che genera report sulla tracciabilità dei dati avrà un leggero aumento dei costi associati, a causa del tempo aggiuntivo necessario per generare report sulla tracciabilità dei dati.
Conformità
La derivazione dei dati offre diversi livelli di assistenza per funzionalità come i Controlli di servizio VPC. Esamina le considerazioni sulla tracciabilità dei dati per assicurarti che i livelli di assistenza corrispondano ai requisiti del tuo ambiente.
Prima di iniziare
Questa funzionalità fornisce un'assistenza per la conformità variabile. Assicurati di esaminare prima sia le considerazioni sulle funzionalità specifiche di Managed Service for Apache Airflow, sia le considerazioni sulle funzionalità di tracciabilità dei dati.
Tutte le autorizzazioni IAM richieste per la derivazione dei dati sono già incluse nel ruolo Worker Composer (
roles/composer.worker). Questo ruolo è il ruolo richiesto per i service account dell'ambiente.Per saperne di più sulle autorizzazioni per la derivazione dei dati, consulta la sezione Ruoli e autorizzazioni di derivazione nella documentazione di Knowledge Catalog.
Verificare se un operatore è supportato
L'assistenza per la derivazione dei dati è fornita dal pacchetto del provider in cui si trova l'operatore:
Controlla i log delle modifiche del pacchetto del provider in cui si trova l'operatore per le voci che aggiungono il supporto di OpenLineage.
Ad esempio, BigQueryToBigQueryOperator supporta OpenLineage a partire da
apache-airflow-providers-googleversione 11.0.0.Controlla la versione del pacchetto del provider 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
nella documentazione di apache-airflow-providers-openlineage elenca gli operatori supportati più recenti.
Configurare l'integrazione della tracciabilità dei dati
L'integrazione della derivazione dei dati per Managed Service for Apache Airflow viene gestita per ambiente. Ciò significa che l'abilitazione della funzionalità richiede due passaggi:
- Abilita l'API Data Lineage nel tuo progetto.
- Abilita l'integrazione della tracciabilità dei dati in un ambiente Managed Service for Apache Airflow specifico.
Abilitare la tracciabilità dei dati in Managed Service for Apache Airflow
Console
Nella Google Cloud console, vai alla pagina Ambienti.
Nell'elenco degli ambienti, fai clic sul nome del tuo ambiente. Si apre la pagina Dettagli ambiente.
Seleziona la scheda Configurazione ambiente.
Nella sezione Integrazione della tracciabilità di Knowledge Catalog, fai clic su Modifica.
Nel riquadro Integrazione della tracciabilità di Knowledge Catalog, seleziona Abilita l'integrazione con la tracciabilità di Knowledge Catalog.
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 tracciabilità dei dati in Managed Service for Apache Airflow
La disabilitazione dell'integrazione della derivazione in un ambiente Managed Service for Apache Airflow non disabilita l'API Data Lineage. Se vuoi disabilitare completamente la generazione di report sulla derivazione per il tuo progetto, disabilita anche l'API Data Lineage. Vedi Disabilitare i servizi.
Console
Nella Google Cloud console, vai alla pagina Ambienti.
Nell'elenco degli ambienti, fai clic sul nome del tuo ambiente. Si apre la pagina Dettagli ambiente.
Seleziona la scheda Configurazione ambiente.
Nella sezione Integrazione della tracciabilità di Knowledge Catalog, fai clic su Modifica.
Nel riquadro Integrazione della tracciabilità di Knowledge Catalog, seleziona Disabilita l'integrazione con la tracciabilità di Knowledge Catalog.
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 tracciabilità negli operatori supportati
Se la tracciabilità dei dati è abilitata, gli operatori supportati inviano automaticamente gli eventi di tracciabilità. Non è necessario modificare il codice DAG.
Ad esempio, l'esecuzione della 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',
},
}
},
)
Comporta la creazione del seguente grafico di derivazione nell'interfaccia utente di Knowledge Catalog:
Inviare eventi di tracciabilità personalizzati
Puoi inviare eventi di tracciabilità personalizzati se vuoi segnalare la tracciabilità per un operatore che non è supportato per la generazione automatica di report sulla tracciabilità.
Ad esempio, per inviare eventi personalizzati con:
- BashOperator: modifica il parametro
inletsooutletsnella definizione dell'attività. - PythonOperator: modifica il parametro
task.inletsotask.outletsnella definizione dell'attività. - Puoi utilizzare
AUTOper il parametroinlets. In questo modo, il valore viene impostato uguale aoutletsdell'attività a monte.
Il seguente esempio mostra l'utilizzo di inlets e outlets:
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 di Knowledge Catalog viene creato il seguente grafico di tracciabilità:
Visualizzare i log di tracciabilità in Managed Service for Apache Airflow
Puoi esaminare i log relativi alla tracciabilità dei dati utilizzando il link nella sezione Integrazione della tracciabilità di Knowledge Catalog della pagina Configurazione ambiente.
Risoluzione dei problemi
Se i dati di derivazione non vengono segnalati all'API Lineage o non riesci a visualizzarli in Knowledge Catalog, prova i seguenti passaggi per la risoluzione dei problemi:
- Assicurati che l'API Data Lineage sia abilitata nel progetto del tuo ambiente Managed Service for Apache Airflow.
- Verifica se l'integrazione della derivazione dei dati è abilitata nell'ambiente Managed Service for Apache Airflow.
- Verifica se l'operatore che utilizzi è incluso nel supporto per la generazione automatica di report sulla derivazione. Per saperne di più, consulta la sezione Operatori Airflow supportati.
- Controlla i log di tracciabilità in Managed Service for Apache Airflow per verificare la presenza di eventuali problemi.