Cloud Composer 1 | Cloud Composer 2
Questo tutorial mostra come utilizzare Cloud Composer per creare un DAG (grafo diretto aciclico) Apache Airflow che esegue un job di conteggio parole Apache Hadoop su un cluster Dataproc.
Obiettivi
- Accedi al tuo ambiente Cloud Composer e utilizza la UI di Airflow.
- Crea e visualizza le variabili di ambiente di Airflow.
- Crea ed esegui un DAG che includa le attività seguenti:
- Crea un cluster Dataproc.
- Esegue un job di conteggio parole di Apache Hadoop sul cluster.
- Restituisce come output i risultati del conteggio parole in un bucket Cloud Storage.
- Elimina il cluster.
Costi
In questo documento vengono utilizzati i seguenti componenti fatturabili di Google Cloud:
- Cloud Composer
- Dataproc
- Cloud Storage
Per generare una stima dei costi in base all'utilizzo previsto,
utilizza il Calcolatore prezzi.
Prima di iniziare
Assicurati che le seguenti API siano abilitate nel tuo progetto:
Console
Abilita le API Dataproc, Cloud Storage.
gcloud
Abilita le API Dataproc, Cloud Storage.
gcloud services enable dataproc.googleapis.com
storage-component.googleapis.com Nel tuo progetto, crea un bucket Cloud Storage di qualsiasi classe di archiviazione e regione per archiviare i risultati del job di conteggio delle parole di Hadoop.
Prendi nota del percorso del bucket che hai creato, ad esempio
gs://example-bucket
. Definisci una variabile Airflow per questo percorso e userai la variabile nel DAG di esempio più avanti in questo tutorial.Crea un ambiente Cloud Composer con parametri predefiniti. Attendi il completamento della creazione dell'ambiente. Al termine, viene visualizzato un segno di spunta verde a sinistra del nome dell'ambiente.
Prendi nota della regione in cui hai creato l'ambiente, ad esempio
us-central
. Devi definire una variabile Airflow per questa regione e utilizzarla nel DAG di esempio per eseguire un cluster Dataproc nella stessa regione.
Imposta le variabili Airflow
Imposta le variabili Airflow da utilizzare più avanti nel DAG di esempio. Ad esempio, puoi impostare le variabili Airflow nella UI di Airflow.
Variabile Airflow | Valore |
---|---|
gcp_project
|
L'ID progetto del progetto che stai utilizzando per questo tutorial, ad esempio example-project . |
gcs_bucket
|
Il bucket Cloud Storage URI che hai creato per questo tutorial,
ad esempio gs://example-bucket |
gce_region
|
La regione in cui hai creato l'ambiente, ad esempio us-central1 .
Questa è la regione in cui verrà creato
il cluster Dataproc. |
Visualizza il flusso di lavoro di esempio
Un DAG Airflow è una raccolta di attività organizzate che vuoi pianificare
ed eseguire. I DAG sono definiti nei file Python standard. Il codice mostrato in hadoop_tutorial.py
è il codice del flusso di lavoro.
Airflow 2
Airflow 1
Operatori
Per orchestrare le tre attività nel flusso di lavoro di esempio, il DAG importa i seguenti tre operatori Airflow:
DataprocClusterCreateOperator
: crea un cluster Dataproc.DataProcHadoopOperator
: invia un job di conteggio parole Hadoop e scrive i risultati in un bucket Cloud Storage.DataprocClusterDeleteOperator
: elimina il cluster per evitare addebiti continui di Compute Engine.
Dipendenze
Puoi organizzare le attività da eseguire in modo da riflettere le loro relazioni e le loro dipendenze. Le attività in questo DAG vengono eseguite in sequenza.
Airflow 2
Airflow 1
Programmazione
Il nome del DAG è composer_hadoop_tutorial
, che viene eseguito una volta al giorno. Poiché il valore start_date
passato a default_dag_args
è impostato su yesterday
, Cloud Composer pianifica l'avvio del flusso di lavoro subito dopo il caricamento del DAG nel bucket dell'ambiente.
Airflow 2
Airflow 1
Carica il DAG nel bucket dell'ambiente
Cloud Composer archivia i DAG nella cartella /dags
del bucket del tuo ambiente.
Per caricare il DAG:
Salva
hadoop_tutorial.py
sulla tua macchina locale.Nella console Google Cloud, vai alla pagina Ambienti.
Nell'elenco degli ambienti, nella colonna della cartella DAG relativa al tuo ambiente, fai clic sul link DAG.
Fai clic su Carica file.
Seleziona
hadoop_tutorial.py
sulla macchina locale e fai clic su Apri.
Cloud Composer aggiunge il DAG a Airflow e pianifica automaticamente il DAG. Le modifiche ai DAG avvengono entro 3-5 minuti.
Esplora le esecuzioni di DAG
Visualizza lo stato dell'attività
Quando carichi il file DAG nella cartella dags/
di Cloud Storage,
Cloud Composer analizza il file. Una volta completato correttamente, il nome del flusso di lavoro viene visualizzato nell'elenco dei DAG e il flusso di lavoro viene messo in coda per essere eseguito immediatamente.
Per visualizzare lo stato dell'attività, vai all'interfaccia web di Airflow e fai clic su DAG nella barra degli strumenti.
Per aprire la pagina dei dettagli dei DAG, fai clic su
composer_hadoop_tutorial
. Questa pagina include una rappresentazione grafica delle attività e delle dipendenze del flusso di lavoro.Per vedere lo stato di ogni attività, fai clic su Visualizzazione grafico e poi con il mouse sopra l'immagine di ogni attività.
Aggiungi di nuovo il flusso di lavoro
Per eseguire nuovamente il flusso di lavoro dalla visualizzazione grafico:
- Nella visualizzazione del grafico dell'interfaccia utente di Airflow, fai clic sull'immagine
create_dataproc_cluster
. - Per reimpostare le tre attività, fai clic su Cancella e poi su OK per confermare.
- Fai di nuovo clic su
create_dataproc_cluster
nella visualizzazione grafico. - Per aggiungere nuovamente il flusso di lavoro alla coda, fai clic su Esegui.
Visualizza i risultati delle attività
Puoi anche controllare lo stato e i risultati del flusso di lavoro composer_hadoop_tutorial
accedendo alle seguenti pagine della console Google Cloud:
Cluster Dataproc: per monitorare la creazione e l'eliminazione del cluster. Tieni presente che il cluster creato dal flusso di lavoro è temporaneo: esiste solo per la durata del flusso di lavoro e viene eliminato come parte dell'ultima attività del flusso di lavoro.
Job Dataproc: per visualizzare o monitorare il job di conteggio parole Apache Hadoop. Fai clic sull'ID job per visualizzare l'output del log del job.
Browser Cloud Storage: per visualizzare i risultati del conteggio parole nella cartella
wordcount
del bucket Cloud Storage che hai creato per questo tutorial.
esegui la pulizia
Elimina le risorse utilizzate in questo tutorial:
Elimina l'ambiente Cloud Composer, compresa l'eliminazione manuale del bucket dell'ambiente.
Elimina il bucket Cloud Storage in cui sono archiviati i risultati del job di conteggio delle parole di Hadoop.