Derivazione dei dati con Dataplex

Cloud Composer 1 | Cloud Composer 2

Informazioni sull'integrazione della derivazione dei dati

Dance dei dati è una funzionalità di Dataplex che ti consente di monitorare il modo in cui i dati si spostano nei tuoi sistemi: da dove provengono, da dove vengono passati e quali trasformazioni vengono applicate. La derivazione dei dati è disponibile per:

Una volta abilitata la funzionalità nel tuo ambiente Cloud Composer, l'esecuzione di DAG che utilizzano uno degli operatori supportati fa sì che Cloud Composer segnali le informazioni sulla derivazione all'API Data Lineage.

Potrai quindi accedere a queste informazioni utilizzando:

Operatori supportati

I seguenti operatori supportano i report automatici sulla derivazione 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, 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': GCP_PROJECT,
                'dataset_id': 'dataset',
                'table_id': 'tableB',
            },
        }
    },
)

Risultati della creazione del seguente grafico di derivazione nella UI di Dataplex:

Esempio di grafico di derivazione nella UI di Dataplex.
Figura 1. Grafico di derivazione di esempio per una tabella BigQuery nella UI di Dataplex.

Considerazioni sulle funzionalità di 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 derivazione
  • Una richiesta RPC di creazione o aggiornamento per un'esecuzione di derivazione
  • 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 il modello di informazioni di derivazione e il riferimento dell'API Lineage nella documentazione di Dataplex.

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 di derivazione. Consulta le considerazioni sulla derivazione dei dati.

Implicazioni per il rendimento

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

Ciò non influisce sulle prestazioni dell'attività stessa: le attività Airflow non vengono eseguite se la derivazione non viene segnalata correttamente all'API Lineage. Non c'è alcun impatto sulla logica dell'operatore principale, ma l'intera istanza dell'attività viene eseguita un po' più a lungo per tenere conto dei dati di derivazione dei report.

Un ambiente che segnala la derivazione dei dati avrà un piccolo aumento dei costi associati, a causa del tempo aggiuntivo necessario per segnalare la derivazione dei dati.

Conformità

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

Utilizza l'integrazione della derivazione dei dati

L'integrazione della derivazione dei dati per Cloud Composer è gestita in base al singolo 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.

Prima di iniziare

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 ulteriori informazioni, consulta Abilitazione dell'API Data Lineage nella documentazione di Dataplex.

  • Un backend di derivazione personalizzato non è configurato in Airflow.

  • La chiave di crittografia gestita dal cliente (CMEK) non è abilitata nell'ambiente. La derivazione dei dati non supporta CMEK per i metadati importati. Non puoi abilitare l'integrazione della derivazione dei dati negli ambienti Cloud Composer che utilizzano CMEK. Per ulteriori informazioni e altre limitazioni, consulta Considerazioni sulla derivazione dei dati.

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

Ruoli obbligatori

L'integrazione con la derivazione dei dati richiede l'aggiunta delle seguenti autorizzazioni per il tuo 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 il ruolo Worker Composer (roles/composer.worker) al tuo account di servizio. Questo ruolo include tutte le autorizzazioni necessarie per la derivazione dei dati.

Per maggiori dettagli, vedi Autorizzazioni e ruoli di derivazione nella documentazione di Dataplex.

Abilita la derivazione dei dati in Cloud Composer

Console

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

    Vai a Ambienti

  2. Nell'elenco degli ambienti, fai clic sul nome dell'ambiente. Viene visualizzata la pagina Dettagli 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:

  • 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 sottocomponenti, quindi devi specificare un nome che sia 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.

    La località è la regione in cui si trova il cluster GKE dell'ambiente.

Esempio:

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

Invia eventi di derivazione personalizzati

Puoi inviare eventi di derivazione personalizzati se vuoi segnalare la derivazione per un operatore non supportato per i report di derivazione automatici.

Ad esempio, per inviare eventi personalizzati con:

  • BashOperator, modifica il parametro inlets o outlets nella definizione dell'attività.
  • PythonOperator, modifica il parametro task.inlets o task.outlets nella definizione dell'attività. L'utilizzo di AUTO per il parametro inlets imposta il valore uguale a outlets dell'attività upstream.

Ad esempio, eseguendo 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 della creazione del seguente grafico di derivazione nella UI di Dataplex:

Esempio di grafico di derivazione per eventi personalizzati nella UI di Dataplex.
Figura 2. Grafico di derivazione di esempio per più tabelle BigQuery nella UI di Dataplex.

Disabilita la derivazione dei dati in Cloud Composer

La disabilitazione dell'integrazione della derivazione in un ambiente Cloud Composer non disabilita l'API Data Lineage. Se vuoi disabilitare completamente i report sulla derivazione per il tuo progetto, disabilita anche l'API Data Lineage. Consulta la pagina relativa alla disattivazione dei servizi.

Console

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

    Vai a Ambienti

  2. Nell'elenco degli ambienti, fai clic sul nome dell'ambiente. Viene visualizzata la pagina Dettagli 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:

  • 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 sottocomponenti, quindi devi specificare un nome che sia 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.

    La località è la regione in cui si trova il cluster GKE dell'ambiente.

Esempio:

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

Visualizza i log di derivazione in Cloud Composer

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

Risoluzione dei problemi

Se i dati di derivazione non vengono segnalati all'API Lineage o non puoi visualizzarli in 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.
  • Controlla se l'integrazione della derivazione dei dati è abilitata nell'ambiente Cloud Composer.
  • Controlla se l'operatore che utilizzi è incluso nell'assistenza per i report automatici sulla derivazione. Vedi Operatori Airflow supportati
  • Controlla i log di derivazione in Cloud Composer per individuare possibili problemi.