web-dev-qa-db-fra.com

Airflow: création d'un DAG dans l'airflow via l'interface utilisateur

Vétérans du flux d'air, veuillez aider,

Je cherchais un remplacement cron et suis tombé sur le flux d'air Apache.

Nous avons une configuration où plusieurs utilisateurs devraient pouvoir créer leurs propres DAG et planifier leurs travaux.

Nos utilisateurs sont un mélange de personnes qui ne savent peut-être pas comment écrire le fichier DAG python. De plus, elles peuvent ne pas avoir accès au serveur sur lequel Airflow est exécuté.

Est-il possible de créer un DAG de flux d'air via l'interface utilisateur. Je n'ai pu trouver aucune référence à la même chose. Tous les exemples parlent de la création d'un fichier python et de son chargement dans le répertoire $ AIRFLOW_HOME/dag /. Les utilisateurs n'auront pas accès à ce répertoire.

Rundeck, par exemple, permet à l'utilisateur d'ajouter des workflows et des dépendances de tâches via l'interface utilisateur. Existe-t-il un plugin/fonctionnalité similaire à celui-ci dans airflow.

PS: J'aime vraiment la façon dont le flux d'air montre les graphiques de dépendance et je veux l'essayer. Mais si la création d'un DAG est si compliquée, ce sera un problème majeur pour beaucoup de mes utilisateurs finaux.

9
Mukul Jain

Je ne pense pas qu'il existe une solution prête à l'emploi. Ce que j'essaierais avec votre tâche est la combinaison: CWL (Common Workflow Language), Airflow, Rabix Composer

Donc, CWL est juste une spécification, vous décrivez votre flux de travail en YAML comme une syntaxe.

Il y a un package pip3.6 install cwl-airflow il peut analyser CWL dans Airflow DAG.

Rabix Composer UI/éditeur graphique CWL.

8
Andrey Kartashov

Il existe un projet open source qui semble intéressant:

https://github.com/timkpaine/paperboy

2
Pav K.

Utilisez le modèle Airflow Variable, il pourrait le faire.

Étape 1, définissez votre modèle biz avec des entrées utilisateur Étape 2, écrivez en tant que fichier dag en python, l'entrée utilisateur peut être lue par le modèle de variable airflow. (Mode clé/valeur) étape 3. échangez les informations sur les tâches par le modèle airflow xcom.

en mode production, l'utilisateur saisit son paramètre dans airflow web ui-> admin-> variable pour certains DAG. (mode valeur clé)

alors c'est fait.

Récemment, j'utilise flux d'air et dag avec un utilisateur viable pour faire beaucoup de différents types de dag de détection de valeurs aberrantes pour différents scénarios. travailler en douceur.

espérons que l'expérience ci-dessus pourrait vous aider.

0
Yong Wang