Existe-t-il des meilleures pratiques suivies pour déployer de nouvelles dags sur le flux d'air?
J'ai vu quelques commentaires sur le forum Google indiquant que les dags sont enregistrés dans un référentiel GIT et que ceux-ci sont synchronisés périodiquement vers l'emplacement local dans le cluster de flux d'air.
En ce qui concerne cette approche, j’avais quelques questions
Toute aide ici est hautement appréciée. Faites-moi savoir au cas où vous auriez besoin de plus de détails?
Voici comment nous gérons cela pour notre équipe.
Tout d’abord en termes de convention de nommage, chacun de nos nom du fichier DAG correspond à DAG Id du contenu du DAG lui-même (y compris la version du DAG). Ceci est utile car, en fin de compte, c'est l'ID de DAG que vous voyez dans l'interface utilisateur d'Airflow, ce qui vous permet de savoir exactement quel fichier a été utilisé derrière chaque DAG.
Exemple pour un DAG comme celui-ci:
from airflow import DAG
from datetime import datetime, timedelta
default_args = {
'owner': 'airflow',
'depends_on_past': False,
'start_date': datetime(2017,12,05,23,59),
'email': ['[email protected]'],
'email_on_failure': True
}
dag = DAG(
'my_Nice_dag-v1.0.9', #update version whenever you change something
default_args=default_args,
schedule_interval="0,15,30,45 * * * *",
dagrun_timeout=timedelta(hours=24),
max_active_runs=1)
[...]
Le nom du fichier DAG serait: my_Nice_dag-v1.0.9.py
Avantages