Verwenden von Apache Airflow™ mit der Cortex Code-CLI

Cortex Code bietet integrierte Unterstützung für Apache Airflow™ und stellt eine natürliche Sprachschnittstelle bereit, über die Sie DAGs verwalten, Fehler debuggen, Pipelines erstellen, Daten analysieren und die Herkunft Ihrer Airflow-Bereitstellungen verfolgen können.

Wichtige Funktionen

Funktion

Beschreibung

Beispiel-Prompt

Pipeline-Überwachung

Zustandsprüfungen, DAG-Überprüfung, Sichtbarkeit von Verbindungen und Variablen, Planungskontrolle

„Ist meine Airflow-Instanz funktionsfähig?“

Ausführungsmanagement

Auslösen von DAGs bei Bedarf, Warten auf Ergebnisse, Übergeben der benutzerdefinierten Konfiguration

„Teste den DAG daily_etl und lass mich wissen, wenn der Test abgeschlossen ist“

Debugging von Fehlern

Ursachenanalyse über Ausführungsstatus, Aufgabeninstanzen und Protokolle hinweg mit Auswirkungsbewertung und Korrekturempfehlungen

„Warum ist my_pipeline letzte Nacht fehlgeschlagen?“

DAG-Erstellung

GeführteDAG-Erstellung unter Verwendung Ihrer bestehenden Muster, Verbindungen und Anbieter mit einem Discover-Plan-Implement-Validate-Test-Workflow

„Erstelle einen DAG, der täglich Daten aus Snowflake extrahiert und in S3 lädt“

Datenanalyse

Warehouse-Abfragen, Tabellenprofilerstellung und Aktualitätsprüfungen mit Mustercaching und der Zuordnung von Konzepten zu Tabellen

„Wie viele aktive Kunden haben wir in diesem Quartal?“

Datenabfolge

Vorgelagerte Herkunftsverfolgung und nachgelagerte Auswirkungsanalyse überDAG-Quellcode mit Kritikalitätsbewertungen

„Was würde passieren, wenn ich das Schema der Kundentabelle ändere?“

Airflow 3-Migration

Automatisierte Code-Migration mit Ruff-Regeln, Importkorrekturen, Ersetzungen von Kontextschlüsseln und Aktualisierungen der Metadaten-Zugriffsmuster

„Migriere meine DAGs von Airflow 2 zu Airflow 3“

dbt-Integration

Ausführen von dbt Core- oder Fusion-Projekten als Airflow-DAGs über Astronomer Cosmos mit Parsing, Ausführung und Profilkonfiguration

„Richte mein dbt-Projekt für die Ausführung in Airflow mit Cosmos ein“

Einbindung menschlicher Kontrolle in den Prozess

Genehmigungsschritte, Formulareingaben und von Menschen gesteuerte Verzweigungen in DAGs (Airflow 3.1+)

„Füge vor der Bereitstellungsaufgabe einen Genehmigungsschritt hinzu“

Lokale Umgebungen

Starten, Stoppen, Neustarten und Problembehandlung von lokalen Airflow-Umgebungen mit der Astro-CLI

„Starte meine lokale Airflow-Umgebung“

Voraussetzungen

Für die Airflow-Integration von Cortex Code ist uv erforderlich. Wenn uv nicht installiert ist, stellt cortex airflow eine hilfreiche Meldung mit dem Installationslink bereit.

Einrichten der Airflow-Integration

Bevor Sie Ihre Airflow-Instanz mit Cortex Code verwalten können, müssen Sie eine Verbindung konfigurieren. Sie können dies mithilfe von Umgebungsvariablen oder innerhalb der Cortex Code-CLI mit einem interaktiven Setup-Befehl tun.

Einrichten der Umgebungsvariablen

Exportieren Sie die erforderlichen Variablen wie folgt in Ihrer Shell, bevor Sie Cortex Code starten. Sie können entweder die tokenbasierte Authentifizierung oder die Authentifizierung mit Benutzername und Kennwort verwenden. Wenn Sie immer die gleiche Airflow-Instanz verwenden, nehmen Sie Code wie diesen in Ihr Shell-Profil (~/.bashrc oder ~/.zshrc) auf, um ihn nicht jedes Mal neu eingeben zu müssen.

# Token auth
export AIRFLOW_API_URL=https://airflow.example.com
export AIRFLOW_AUTH_TOKEN=your-api-token

# Username/password auth
export AIRFLOW_API_URL=https://airflow.example.com
export AIRFLOW_USERNAME=your-username
export AIRFLOW_PASSWORD=your-password
Interaktives Setup

Führen Sie den Befehl /airflow in Cortex Code aus, um Instanzen über eine Vollbild-UI zu verwalten. Sowohl die tokenbasierte als auch die Authentifizierung mit Benutzername und Kennwort werden unterstützt.

Befehl

Beschreibung

/airflow

Verwalten von Airflow-Instanzen (öffnet den Instanzmanager)

/airflow show

Anzeigen der aktuellen Konfiguration (Geheimnisse sind maskiert)

/airflow clear

Entfernen aller Konfigurationen

/airflow unterstützt mehrere benannte Instanzen. Verwenden Sie den Instanzmanager, um Instanzen hinzuzufügen, zwischen ihnen zu wechseln oder sie zu entfernen.

Airflow CLI-Befehle

Verwenden Sie cortex airflow, um mit Ihrer Airflow-Instanz vom Terminal aus zu interagieren, wie in den folgenden Beispielen gezeigt.

Überprüfen des Zustands der Instanz:

cortex airflow health

Auflisten aller DAGs :

cortex airflow dags list

Abrufen der Details zu einem bestimmten DAG:

cortex airflow dags get my_pipeline

Anzeigen des DAG-Quellcodes:

cortex airflow dags source my_pipeline

Auslösen einer DAG-Ausführung:

cortex airflow runs trigger my_pipeline

Auflisten der letzten Ausführungen für einen DAG:

cortex airflow runs list my_pipeline

Überprüfen des Aufgabenstatus für eine bestimmte Ausführung:

cortex airflow tasks list my_pipeline <run_id>

Anhalten und Fortsetzen eines DAG:

cortex airflow dags pause my_pipeline
cortex airflow dags unpause my_pipeline

Eine vollständige Liste der Befehle erhalten Sie durch Ausführen von cortex airflow --help.

Problembehandlung

Verbindung abgelehnt

Symptom: Airflow-Vorgänge schlagen mit Verbindungsfehlern fehl.

Lösung: Stellen Sie sicher, dass Ihre Instanz-URL korrekt und die Airflow API erreichbar ist. Überprüfen Sie Ihre aktuelle Instanzkonfiguration und testen Sie die Konnektivität mit einer Zustandsprüfung.

Authentifizierungsfehler

Symptom: Vorgänge geben 401- oder 403-Fehler zurück.

Lösung: Führen Sie die folgenden Schritte aus:

  • Vergewissern Sie sich, dass Ihr Token oder Ihre Anmeldeinformationen korrekt sind.

  • Prüfen Sie, ob das Token abgelaufen ist; generieren Sie es erneut, falls erforderlich.

  • Stellen Sie sicher, dass der Benutzende und die Rolle über API-Zugriffsberechtigungen in Airflow verfügen.

DAG nicht gefunden

Symptom: Vorgänge melden, dass derDAG nicht existiert.

Lösung: Überprüfen Sie, ob Import- oder Parsing-Fehler vorliegen, die das Laden des DAG verhindern könnten. Stellen Sie sicher, dass die DAG-ID genau übereinstimmt.

uv nicht installiert

**Symptom:**cortex airflow zeigt „cortex airflow requires uv“ an.

Lösung: Installieren Sie uv von`der uv-Website <https://docs.astral.sh/uv/getting-started/installation/>`_.