Managed Airflow (Gen 3) | Managed Airflow (Gen 2) | Managed Airflow (Legacy Gen 1)
Questa pagina descrive quali dati Managed Service for Apache Airflow archivia per il tuo ambiente in Cloud Storage.
Quando crei un ambiente, Managed Airflow crea un bucket Cloud Storage e lo associa al tuo ambiente. Il nome del bucket si basa sulla regione, sul nome e su un ID casuale, ad esempio us-central1-b1-6efabcde-bucket.
Managed Airflow sincronizza cartelle specifiche nel bucket del tuo ambiente con i componenti Airflow eseguiti nel tuo ambiente. Ad esempio, quando aggiorni un file con il codice del DAG Airflow nel bucket dell'ambiente, anche i componenti Airflow ricevono la versione aggiornata. Managed Airflow utilizza Cloud Storage FUSE per la sincronizzazione.
Cartelle nel bucket Cloud Storage
| Cartella | Percorso di archiviazione | Directory mappata | Descrizione |
|---|---|---|---|
| DAG | gs://bucket-name/dags |
/home/airflow/gcs/dags |
Archivia i DAG per il tuo ambiente. |
| Plug-in | gs://bucket-name/plugins |
/home/airflow/gcs/plugins |
Memorizza i plug-in personalizzati, come operatori, hook, sensori o interfacce Airflow personalizzati interni. |
| Dati | gs://bucket-name/data |
/home/airflow/gcs/data |
Archivia i dati prodotti e utilizzati dalle attività. |
| Log | gs://bucket-name/logs |
/home/airflow/gcs/logs |
Archivia i log di Airflow per le attività. I log sono disponibili anche nell'interfaccia utente di Airflow e nella scheda Log della console Google Cloud . |
Managed Airflow sincronizza le cartelle in modo unidirezionale: dal bucket ai componenti Airflow. La sincronizzazione unidirezionale significa che le modifiche locali in queste cartelle di un componente Airflow vengono sovrascritte.
La sincronizzazione dei dati è a coerenza finale. Per inviare messaggi da un operatore all'altro, utilizza XComs.
Considerazioni sulla capacità
I dati delle cartelle dags/, plugins/ e data/ vengono sincronizzati con gli scheduler e i worker di Airflow.
I contenuti della cartella plugins/ vengono sincronizzati con il server web Airflow.
Più dati vengono inseriti in queste cartelle, più spazio viene occupato
nello spazio di archiviazione locale dei componenti Airflow. Il salvataggio di troppi dati in
dags/ e plugins/ può interrompere le tue operazioni e causare problemi quali:
Un worker o uno scheduler esaurisce lo spazio di archiviazione locale e viene rimosso perché lo spazio sul disco locale del componente non è sufficiente.
La sincronizzazione dei file dalle cartelle
dags/eplugins/ai worker e agli scheduler richiede molto tempo.La sincronizzazione dei file dalle cartelle
dags/eplugins/con i worker e gli scheduler diventa impossibile. Ad esempio, archivi un file da 2 GB nella cartelladags/, ma il disco locale di un worker Airflow può contenere solo 1 GB. Durante la sincronizzazione, il worker esaurisce lo spazio di archiviazione locale e la sincronizzazione non può essere completata.
Cartelle DAG e plug-in
Per evitare errori di esecuzione dei DAG, memorizza i DAG, i plug-in e i moduli Python nelle cartelle
dags/ o plugins/, anche se i moduli Python non contengono DAG
o plug-in.
Ad esempio, utilizzi un DataFlowPythonOperator che fa riferimento a una pipeline Dataflow py_file. py_file non contiene DAG o
plug-in, ma devi comunque archiviarlo nella cartella dags/ o plugins/.
Cartella dei dati
Esistono scenari in cui determinati file della cartella data/ vengono
sincronizzati con un componente Airflow specifico. Ad esempio, quando Managed Service for Apache Airflow tenta di leggere un determinato file per la prima volta durante:
Analisi DAG: quando un file viene letto per la prima volta durante l'analisi DAG, Managed Service for Apache Airflow lo sincronizza con lo scheduler che analizza il DAG.
Esecuzione DAG: quando un file viene letto per la prima volta durante l'esecuzione del DAG, Managed Service for Apache Airflow lo sincronizza con il worker che esegue l'esecuzione.
I componenti del flusso d'aria hanno uno spazio di archiviazione locale limitato, quindi valuta la possibilità di eliminare i file scaricati per liberare spazio su disco nei componenti. Tieni presente che l'utilizzo dello spazio di archiviazione locale può aumentare temporaneamente se hai attività simultanee che scaricano lo stesso file in un singolo worker Airflow.
Cartella dei log
La cartella logs/ viene sincronizzata dai worker Airflow al bucket dell'ambiente utilizzando l'API Storage di Cloud.
La quota dell'API Cloud Storage viene calcolata in base alla quantità di dati spostati, pertanto il numero di attività Airflow eseguite dal sistema può aumentare l'utilizzo dell'API Cloud Storage: più attività esegui, più grandi sono i file di log.
Sincronizzazione con il server web
La cartella plugins/ viene sincronizzata automaticamente con il server web in modo che
i plug-in possano essere caricati dalla UI di Airflow. In Managed Airflow (Gen 3), puoi
disattivare e attivare i plug-in del server web su
richiesta, senza eliminare i file dal bucket dell'ambiente.