Compétences airflow-dag-patterns
📦

airflow-dag-patterns

Sûr

Créer des DAG Apache Airflow avec des patterns de production

Également disponible depuis: wshobson

Créer des DAG Airflow prêts pour la production nécessite de comprendre les opérateurs, les capteurs et les patterns de gestion d'erreurs. Cette compétence fournit des modèles éprouvés et des bonnes pratiques pour l'orchestration de pipelines de données.

Prend en charge: Claude Codex Code(CC)
🥉 75 Bronze
1

Télécharger le ZIP du skill

2

Importer dans Claude

Allez dans Paramètres → Capacités → Skills → Importer un skill

3

Activez et commencez à utiliser

Tester

Utilisation de "airflow-dag-patterns". Créer un DAG ETL quotidien avec des tâches d'extraction, transformation et chargement

Résultat attendu:

  • DAG créé avec la planification '0 6 * * *' (quotidien à 6h)
  • Trois tâches PythonOperator : extract_data, transform_data, load_data
  • Dépendances de tâches : extract >> transform >> load
  • Configuration de nouvelle tentative : 3 tentatives avec backoff exponentiel de 5 minutes
  • Notifications par email configurées pour les échecs de tâches

Utilisation de "airflow-dag-patterns". Ajouter un capteur pour attendre un fichier S3 avant le traitement

Résultat attendu:

  • S3KeySensor ajouté avec un délai d'attente de 2 heures et un intervalle d'interrogation de 5 minutes
  • Capteur configuré avec mode='reschedule' pour libérer les slots de worker
  • Tâche de traitement définie comme dépendance en aval du capteur
  • Le DAG attend maintenant la disponibilité du fichier avant l'exécution

Audit de sécurité

Sûr
v1 • 2/24/2026

Static analysis detected 41 patterns but all are false positives. Backtick characters are markdown formatting for code blocks, not shell execution. globals() usage is standard Airflow pattern for dynamic DAG generation. URLs are documentation references. This is educational documentation with no executable security risks.

2
Fichiers analysés
554
Lignes analysées
0
résultats
1
Total des audits
Aucun problème de sécurité trouvé
Audité par: claude

Score de qualité

38
Architecture
100
Maintenabilité
87
Contenu
50
Communauté
100
Sécurité
100
Conformité aux spécifications

Ce que vous pouvez construire

Équipes Data Engineering construisant des pipelines ETL

Créer des pipelines de données planifiés qui extraient depuis des sources, transforment les données et les chargent dans des entrepôts avec une gestion d'erreurs et une surveillance appropriées.

Équipes Analytics orchestrant la génération de rapports

Planifier des tâches automatisées de génération de rapports avec des dépendances sur la disponibilité des données et l'achèvement du traitement en amont.

Ingénieurs ML entraînant des modèles selon un calendrier

Orchestrer des pipelines d'entraînement de machine learning avec des étapes de validation des données, d'entraînement de modèle et de déploiement.

Essayez ces prompts

Création de DAG de base
Créer un DAG Airflow qui s'exécute quotidiennement à 6h pour extraire des données d'un fichier CSV, les transformer et les charger dans une base de données. Inclure une gestion d'erreurs de base avec des nouvelles tentatives.
Génération dynamique de DAG
Générer plusieurs DAG similaires à partir d'une liste de configuration pour traiter différentes sources de données. Chaque DAG doit avoir la même structure mais des planifications et chemins sources différents.
Pipeline branchant avec vérifications de qualité des données
Créer un DAG qui vérifie les métriques de qualité des données et se branche vers différents chemins de traitement en fonction du score de qualité. Inclure une logique de jonction appropriée après le branchement.
Dépendances externes basées sur des capteurs
Construire un DAG qui attend l'arrivée de fichiers dans S3, dépend de l'achèvement d'un autre DAG et surveille un endpoint de santé d'API avant le traitement. Utiliser le mode reschedule pour les capteurs.

Bonnes pratiques

  • Utiliser l'API TaskFlow pour un code plus propre et la transmission automatique de XCom entre les tâches
  • Concevoir toutes les tâches pour qu'elles soient idempotentes afin que les nouvelles tentatives ne causent pas de duplication de données
  • Définir des délais d'attente appropriés sur les tâches et utiliser le mode reschedule pour les capteurs afin de libérer les ressources de worker

Éviter

  • Utiliser depends_on_past=True qui crée des goulots d'étranglement inutiles et bloque l'exécution parallèle
  • Coder en dur des dates ou des valeurs au lieu d'utiliser des macros Airflow comme {{ ds }} pour les dates d'exécution
  • Placer une logique métier lourde directement dans les fichiers DAG au lieu d'importer depuis des modules séparés

Foire aux questions

Comment tester mes DAG avant de les déployer en production ?
Utiliser la classe DagBag pour charger et valider les DAG dans les tests unitaires. Tester les fonctions de tâches individuelles séparément avec pytest. Exécuter les DAG dans une instance Airflow locale avec catchup=False pour vérifier le flux d'exécution.
Quelle est la différence entre les opérateurs et les capteurs ?
Les opérateurs effectuent des actions comme exécuter du code Python ou des requêtes. Les capteurs sont des opérateurs spéciaux qui attendent des conditions externes comme la disponibilité de fichiers, des réponses d'API ou l'achèvement d'autres DAG avant de continuer.
Comment passer des données entre les tâches dans Airflow ?
Utiliser XCom pour les petites données en retournant des valeurs depuis les fonctions de tâches. L'API TaskFlow gère XCom automatiquement. Pour les données volumineuses, stocker dans un stockage externe comme S3 et passer des références entre les tâches.
Pourquoi mes tâches ne se retentent-elles pas en cas d'échec ?
S'assurer que retries et retry_delay sont définis dans default_args ou les définitions de tâches individuelles. Vérifier que la tâche n'échoue pas pendant la phase de planification. Vérifier retry_exponential_backoff pour des augmentations progressives de délai.
Comment gérer les dépendances de DAG vers d'autres DAG ?
Utiliser ExternalTaskSensor pour attendre que des tâches spécifiques dans des DAG en amont se terminent. Configurer execution_date_fn pour faire correspondre les dates d'exécution correctes entre les DAG dépendants.
Quelle règle de déclenchement dois-je utiliser pour les tâches de nettoyage ?
Utiliser TriggerRule.ALL_DONE pour le nettoyage qui doit s'exécuter quel que soit le succès ou l'échec en amont. Utiliser TriggerRule.ALL_SUCCESS pour les tâches qui ne doivent s'exécuter que si toutes les tâches en amont ont réussi.

Détails du développeur

Structure de fichiers