In Cloud Storage gespeicherte Daten

Managed Airflow (Gen 3) | Managed Airflow (Gen 2) | Managed Airflow (Legacy Gen 1)

Auf dieser Seite wird erläutert, welche Daten von Managed Service for Apache Airflow für Ihre Umgebung in Cloud Storage gespeichert werden.

Beim Erstellen einer Umgebung wird von Managed Airflow ein Cloud Storage Bucket erstellt und der Bucket Ihrer Umgebung zugeordnet. Der Name dieses Buckets basiert auf der Umgebungsregion, dem Namen und einer Zufallskennung wie z. B. us-central1-b1-6efabcde-bucket.

Managed Airflow synchronisiert bestimmte Ordner im Bucket Ihrer Umgebung mit Airflow-Komponenten, die in Ihrer Umgebung ausgeführt werden. Wenn Sie beispielsweise eine Datei mit dem Code Ihres Airflow-DAG im Bucket der Umgebung aktualisieren, erhalten auch die Airflow-Komponenten die aktualisierte Version. Managed Airflow verwendet Cloud Storage FUSE für die Synchronisierung.

Ordner im Cloud Storage-Bucket

Ordner Speicherpfad Zugeordnetes Verzeichnis Beschreibung
DAG gs://bucket-name/dags /home/airflow/gcs/dags Speichert die DAGs für Ihre Umgebung.
Plug-ins gs://bucket-name/plugins /home/airflow/gcs/plugins Speichert Ihre benutzerdefinierten Plug-ins, wie z. B. benutzerdefinierte interne Airflow-Operatoren, Hooks, Sensoren oder Oberflächen.
Daten gs://bucket-name/data /home/airflow/gcs/data Speichert die Daten, die Aufgaben generieren und verwenden.
Logs gs://bucket-name/logs /home/airflow/gcs/logs Speichert die Airflow-Logs für Aufgaben. Logs sind auch in der Airflow-UI und auf dem Tab Logs in der Google Cloud Console verfügbar.

Managed Airflow synchronisiert Ordner unidirektional: vom Bucket zu den Airflow-Komponenten. Unidirektionale Synchronisierung bedeutet, dass lokale Änderungen in diesen Ordnern auf einer Airflow-Komponente überschrieben werden.

Die Datensynchronisierung unterliegt der Eventual Consistency. Verwenden Sie XComs, um Nachrichten von einem Operator an einen anderen zu senden.

Überlegungen zur Kapazität

Daten aus den Ordnern dags/, plugins/ und data/ werden mit den Airflow-Planern und -Workern synchronisiert.

Der Inhalt des Ordners plugins/ wird mit dem Airflow-Webserver synchronisiert.

Je mehr Daten in diesen Ordnern abgelegt werden, desto mehr Speicherplatz wird im lokalen Speicher der Airflow-Komponenten belegt. Wenn Sie zu viele Daten in dags/ und plugins/ speichern, kann dies zu Problemen führen, z. B.:

  • Der lokale Speicher eines Workers oder Planers ist voll und er wird entfernt, weil nicht genügend Speicherplatz auf dem lokalen Laufwerk der Komponente vorhanden ist.

  • Die Synchronisierung von Dateien aus den Ordnern dags/ und plugins/ mit Workern und Planern dauert lange.

  • Die Synchronisierung von Dateien aus den Ordnern dags/ und plugins/ mit Workern und Planern ist nicht möglich. Beispiel: Sie speichern eine 2 GB große Datei im Ordner dags/, aber das lokale Laufwerk eines Airflow-Workers kann nur 1 GB aufnehmen. Während der Synchronisierung ist der lokale Speicher des Workers voll und die Synchronisierung kann nicht abgeschlossen werden.

Ordner für DAGs und Plug-ins

Speichern Sie zur Vermeidung von DAG-Ausführungsfehlern Ihre DAGs, Plug-ins und Python-Module in den Ordnern dags/ oder plugins/. Dies gilt auch dann, wenn die Python-Module keine DAGs oder Plug-ins enthalten.

Beispiel: Sie verwenden einen DataFlowPythonOperator, der auf eine py_file-Dataflow-Pipeline verweist. Diese py_file enthält keine DAGs oder Plug-ins, muss aber trotzdem im Ordner dags/ oder plugins/ gespeichert werden.

Datenordner

Es gibt Szenarien, in denen bestimmte Dateien aus dem Ordner data/ mit einer bestimmten Airflow-Komponente synchronisiert werden. Beispiel: Wenn Managed Service for Apache Airflow versucht, eine bestimmte Datei zum ersten Mal zu lesen, während:

  • DAG-Parsing: Wenn eine Datei zum ersten Mal während des DAG-Parsings gelesen wird, synchronisiert Managed Service for Apache Airflow sie mit dem Planer, der den DAG parst.

  • DAG-Ausführung: Wenn eine Datei zum ersten Mal während der DAG-Ausführung gelesen wird, synchronisiert Managed Service for Apache Airflow sie mit dem Worker, der die Ausführung durchführt.

Airflow-Komponenten haben nur begrenzten lokalen Speicher. Löschen Sie daher heruntergeladene Dateien, um Speicherplatz auf den Festplatten Ihrer Komponenten freizugeben. Beachten Sie, dass die Speichernutzung auch vorübergehend ansteigen kann, wenn mehrere Tasks gleichzeitig dieselbe Datei auf einen einzelnen Airflow-Worker herunterladen.

Ordner „Logs“

Der Ordner logs/ wird mit der Cloud Storage API von Airflow-Workern mit dem Bucket der Umgebung synchronisiert.

Das Cloud Storage API-Kontingent wird anhand der Menge der verschobenen Daten berechnet. Die Anzahl der Airflow-Aufgaben, die Ihr System ausführt, kann also die Nutzung der Cloud Storage API erhöhen: Je mehr Aufgaben Sie ausführen, desto größer sind Ihre Logdateien.

Synchronisierung mit dem Webserver

Der Ordner plugins/ wird automatisch mit dem Webserver synchronisiert, damit Plug-ins von der Airflow-UI geladen werden können.

Nächste Schritte