web-dev-qa-db-fra.com

Débit d'air + céleri ou dask. Pour quoi, quand?

J'ai lu dans la documentation officielle d'Airflow ce qui suit :

enter image description here

Qu'est-ce que cela signifie exactement? Que veulent dire les auteurs par mise à l'échelle? Autrement dit, lorsque est-ce pas suffisant pour utiliser Airflow ou quand quelqu'un utilise Airflow en combinaison avec quelque chose comme le céleri? (idem pour dask)

12

Dans la terminologie Airflow, un "exécuteur" est le composant responsable de l'exécution de votre tâche. LocalExecutor le fait en générant des threads sur l'ordinateur Airflow s'exécute et permet au thread d'exécuter la tâche.

Naturellement, votre capacité est alors limitée par les ressources disponibles sur la machine locale. CeleryExecutor répartit la charge sur plusieurs machines. L'exécuteur lui-même publie une demande d'exécution d'une tâche dans une file d'attente, et l'un des nœuds de travail récupère la demande et l'exécute. Vous pouvez désormais mettre à l'échelle le cluster de nœuds de travail pour augmenter la capacité globale.

Enfin, et pas encore prêt, il y a un KubernetesExecutor dans les travaux ( link ). Cela exécutera des tâches sur un cluster Kubernetes. Cela permettra non seulement d'isoler complètement vos tâches, car elles sont exécutées dans des conteneurs, mais vous pouvez également tirer parti des capacités existantes de Kubernetes pour, par exemple, mettre automatiquement à l'échelle votre cluster afin que vous disposiez toujours d'une quantité optimale de ressources disponibles.

16
gogstad

Vous aimerez peut-être lire cette comparaison de tâches avec les gestionnaires de tâches céleri/flux d'air http://matthewrocklin.com/blog/work/2016/09/13/dask-and-celery

Puisque vous ne posez pas de question spécifique, une lecture générale comme celle-ci devrait être informative, et vous pouvez peut-être clarifier ce que vous recherchez.

6
mdurant