Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3
Informazioni sull'integrazione della derivazione dei dati
La derivazione dei dati è un Dataplex che consente di tenere traccia del movimento dei dati nei sistemi: a dove vengono da dove viene trasmesso e quali trasformazioni vengono applicate. La derivazione dei dati è disponibile per:
Ambienti Cloud Composer 2 con versioni 2.1.2 e successive con Airflow 2.2.5 e versioni successive.
Ambienti Cloud Composer 2 nelle stesse regioni di Regioni di Data Catalog che supportano la derivazione dei dati.
Una volta attivata la funzionalità nell'ambiente Cloud Composer, l'esecuzione di DAG che utilizzano uno degli operatori supportati fa sì che Cloud Composer registri le informazioni sulla cronologia all'API Data Lineage.
Potrai quindi accedere a queste informazioni utilizzando:
- API Data Lineage
- Grafici di visualizzazione della struttura per le voci di Data Catalog supportate in Dataplex. Consulta Grafici di visualizzazione della struttura nella documentazione di Dataplex.
Operatori supportati
I seguenti operatori supportano i report automatici sulla provenienza in Cloud Composer:
airflow.providers.google.cloud.operators.bigquery.BigQueryExecuteQueryOperator
airflow.providers.google.cloud.operators.bigquery.BigQueryInsertJobOperator
airflow.providers.google.cloud.transfers.bigquery_to_bigquery.BigQueryToBigQueryOperator
airflow.contrib.operators.bigquery_to_gcs.BigQueryToCloudStorageOperator
airflow.providers.google.cloud.transfers.bigquery_to_gcs.BigQueryToGCSOperator
airflow.providers.google.cloud.transfers.gcs_to_bigquery.GCSToBigQueryOperator
airflow.contrib.operators.gcs_to_bq.GoogleCloudStorageToBigQueryOperator
airflow.providers.google.cloud.operators.dataproc.DataprocSubmitJobOperator
Ad esempio, l'esecuzione dell'attività seguente:
task = BigQueryInsertJobOperator(
task_id='snapshot_task',
dag=dag,
location='<dataset-location>',
configuration={
'query': {
'query': 'SELECT * FROM dataset.tableA',
'useLegacySql': False,
'destinationTable': {
'project_id': GCP_PROJECT,
'dataset_id': 'dataset',
'table_id': 'tableB',
},
}
},
)
Il risultato è la creazione del seguente grafico della struttura in Dataplex UI:
Considerazioni sulle funzionalità per Cloud Composer
Ogni esecuzione di attività Airflow che segnala la derivazione dei dati esegue:
- Una richiesta RPC di creazione o aggiornamento per un processo di albero genealogico
- Una richiesta RPC di creazione o aggiornamento per un'esecuzione della cronologia
- Una o più richieste RPC per creare eventi di derivazione (la maggior parte delle volte 0 o 1)
Per maggiori dettagli su queste entità, consulta modello di informazioni sulla derivazione e Riferimento API Lineage in Dataplex documentazione.
Il traffico di derivazione emessa è soggetto a quote di spazio di archiviazione nell'API Data Lineage. Cloud Composer consuma la quota di scrittura.
I prezzi associati alla gestione dei dati di derivazione sono soggetti ai prezzi di derivazione. Consulta le considerazioni sulla concatenazione dei dati.
Implicazioni per il rendimento
La derivazione dei dati viene registrata al termine dell'esecuzione dell'attività Airflow. In media, i report sulla derivazione dei dati richiedono circa 1-2 secondi.
Ciò non influisce sul rendimento dell'attività stessa: le attività Airflow non si arrestano se la sequenza non viene registrata correttamente nell'API Lineage. Non c'è alcun impatto sulla logica principale dell'operatore, ma l'intera istanza dell'attività lo fa più a lungo per tenere conto dei dati di derivazione dei report.
Un ambiente che riporta la derivazione dei dati avrà un leggero aumento delle associati ai costi associati, a causa del tempo aggiuntivo necessario per registrare la derivazione dei dati.
Conformità
La derivazione dei dati offre diversi livelli di supporto per funzionalità come Controlli di servizio VPC. Esamina le considerazioni sulla consistenza dei dati per assicurarti che i livelli di assistenza corrispondano ai requisiti del tuo ambiente.
Utilizzare l'integrazione della derivazione dei dati
L'integrazione della derivazione dei dati per Cloud Composer è gestita su un per ambiente. Ciò significa che l'attivazione della funzionalità richiede due passaggi:
- Abilita l'API Data Lineage nel tuo progetto.
- Attiva l'integrazione della derivazione dei dati in un ambiente Cloud Composer specifico.
Prima di iniziare
Quando crei un ambiente, l'integrazione della derivazione dei dati abilitata automaticamente se vengono soddisfatte le seguenti condizioni:
L'API Data Lineage è abilitata nel progetto. Per ulteriori informazioni, vedi Abilita l'API Data Lineage in documentazione di Dataplex.
Un segmento di pubblico personalizzato Backend di derivazione non è configurato in Airflow.
Per un ambiente esistente, puoi abilitare o disabilita l'integrazione della derivazione dei dati in qualsiasi momento.
Ruoli obbligatori
L'integrazione con la cronologia dei dati richiede l'aggiunta delle seguenti autorizzazioni per l'account di servizio dell'ambiente Cloud Composer:
- Per gli account di servizio predefiniti: non sono necessarie modifiche. Gli account di servizio predefiniti includono le autorizzazioni richieste.
- Per gli account di servizio gestiti dall'utente: concedi al tuo account di servizio il ruolo Composer Worker (
roles/composer.worker
). Questo ruolo include tutte le autorizzazioni necessarie per la concatenazione dei dati.
Per maggiori dettagli, consulta la sezione Ruoli e autorizzazioni della derivazione nella documentazione di Dataplex.
Attivare la derivazione dei dati in Cloud Composer
Console
Nella console Google Cloud, vai alla pagina Ambienti.
Nell'elenco degli ambienti, fai clic sul nome dell'ambiente. Si apre la pagina Dettagli ambiente.
Seleziona la scheda Configurazione dell'ambiente.
Nella sezione Integrazione della derivazione dei dati Dataplex, fai clic su Modifica.
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:
ENVIRONMENT_NAME
con il nome dell'ambiente.Il nome deve iniziare con una lettera minuscola seguita da un massimo di 62 minuscoli lettere, numeri o trattini e non può terminare con un trattino. Il nome dell'ambiente viene utilizzato per creare componenti secondari per l'ambiente, quindi devi fornire un nome valido anche come nome del bucket Cloud Storage. Consulta le linee guida per la denominazione dei bucket per un elenco delle limitazioni.
LOCATION
con la regione per l'ambiente.Una località è la regione in cui si trova il cluster GKE dell'ambiente individuarlo.
Esempio:
gcloud composer environments update example-environment \
--location us-central1 \
--enable-cloud-data-lineage-integration
Invia eventi di derivazione personalizzati
Puoi inviare eventi di eredità personalizzati se vuoi generare report sull'eredità per un operatore che non è supportato per i report sull'eredità automatica.
Ad esempio, per inviare eventi personalizzati con:
BashOperator
, modifica il parametroinlets
ooutlets
nell'attività definizione di Kubernetes.PythonOperator
, modifica il parametrotask.inlets
otask.outlets
nella definizione dell'attività. L'utilizzo diAUTO
per il parametroinlets
imposta il suo valore suoutlets
dell'attività a monte.
Ad esempio, esegui questa attività:
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=GCP_PROJECT,
dataset_id='dataset',
table_id='table1',
)],
outlets=[BigQueryTable(
project_id=GCP_PROJECT,
dataset_id='dataset',
table_id='table2',
)]
)
def _python_task(task):
task.inlets.append(BigQueryTable(
project_id=GCP_PROJECT,
dataset_id='dataset',
table_id='table3',
))
task.outlets.append(BigQueryTable(
project_id=GCP_PROJECT,
dataset_id='dataset',
table_id='table4',
))
python_task = PythonOperator(
task_id='python_task',
dag=dag,
python_callable=_python_task,
inlets=[AUTO],
)
bash_task >> python_task
Risultati nella creazione del seguente grafico di derivazione nella UI di Dataplex:
Disattivare la derivazione dei dati in Cloud Composer
La disattivazione dell'integrazione della struttura in un ambiente Cloud Composer non disattiva l'API Data Lineage. Se vuoi disattivare completamente i report sulla derivazione per il tuo progetto, disabilita anche l'API Data Lineage. Consulta Disattivazione dei servizi.
Console
Nella console Google Cloud, vai alla pagina Ambienti.
Nell'elenco degli ambienti, fai clic sul nome dell'ambiente. Viene visualizzata la pagina Dettagli dell'ambiente.
Seleziona la scheda Configurazione dell'ambiente.
Nella sezione Integrazione della derivazione dei dati Dataplex, fai clic su Modifica.
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:
ENVIRONMENT_NAME
con il nome dell'ambiente.Il nome deve iniziare con una lettera minuscola seguita da un massimo di 62 lettere minuscole, numeri o trattini e non può terminare con un trattino. Il nome dell'ambiente viene utilizzato per creare componenti secondari per l'ambiente, quindi devi fornire un nome valido anche come nome del bucket Cloud Storage. Consulta le linee guida per la denominazione dei bucket per un elenco delle limitazioni.
LOCATION
con la regione per l'ambiente.Una località è la regione in cui si trova il cluster GKE dell'ambiente individuarlo.
Esempio:
gcloud composer environments update example-environment \
--location us-central1 \
--disable-cloud-data-lineage-integration
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 in Dataplex integrazione della derivazione dei dati.
Risoluzione dei problemi
Se i dati di derivazione non vengono segnalati all'API Lineage o non puoi vederli in Dataplex, prova a seguire questi passaggi per la risoluzione dei problemi:
- Assicurati che l'API Data Lineage sia abilitata nel progetto della tua nell'ambiente Cloud Composer.
- Verificare se l'integrazione della derivazione dei dati è abilitata in Cloud Composer completamente gestito di Google Cloud.
- Controlla se l'operatore che utilizzi è incluso nel supporto per i report sulla genealogia automatica. Vedi Operatori Airflow supportati.
- Controlla i log della cronologia in Cloud Composer per individuare eventuali problemi.