AIFlow est une plate-forme d'orchestration de flux de travail basée sur des événements qui permet aux utilisateurs de créer et de planifier par programme des flux de travail avec un mélange de tâches en streaming et par lots.
La plupart des plateformes d'orchestration de flux de travail existantes (par exemple Apache AirFlow, KubeFlow) planifient les exécutions de tâches en fonction des changements d'état des exécutions de tâches en amont. Bien que cette approche fonctionne bien pour les tâches par lots dont la fin est garantie, elle ne fonctionne pas bien pour les tâches de streaming qui peuvent s'exécuter pendant une durée infinie sans changement de statut. AIFlow est proposé pour faciliter l'orchestration de workflows impliquant des tâches de streaming.
Par exemple, les utilisateurs peuvent souhaiter exécuter une tâche de streaming Flink en continu pour rassembler des données de formation et démarrer une tâche de formation d'apprentissage automatique chaque fois que la tâche Flink a traité toutes les données en amont au cours de la dernière heure. Afin de planifier ce flux de travail à l'aide d'une plate-forme d'orchestration de flux de travail non basée sur des événements, les utilisateurs doivent planifier la tâche de formation périodiquement en fonction de l'heure de l'horloge murale. En cas de pic de trafic ou d'échec de la tâche en amont, la tâche Flink n'a peut-être pas traité la quantité attendue de données en amont au moment du démarrage de la tâche TensorFlow. La tâche en amont doit soit continuer à attendre, soit échouer rapidement, soit traiter des données partielles, ce qui n'est pas idéal. En comparaison, AIFlow fournit des API pour que la tâche Flink émette un événement chaque fois que son filigrane basé sur un événement s'incrémente d'une heure, ce qui déclenche l'exécution de la tâche de formation spécifiée par l'utilisateur, sans subir les problèmes décrits ci-dessus.
Apprenez-en plus sur AIFlow sur https://ai-flow.readthedocs.io
Basé sur les événements : AIFlow planifie le flux de travail et les tâches en fonction des événements. Cette méthode est plus efficace que la planification basée sur le statut et permet de planifier les flux de travail contenant des tâches de flux.
Extensible : les utilisateurs peuvent facilement définir leurs propres opérateurs et exécuteurs pour soumettre différents types de tâches à différentes plates-formes.
Exactement une fois : AIFlow fournit un mécanisme de traitement des événements avec une sémantique exactement une fois, ce qui signifie que vos tâches ne seront jamais manquées ou répétées même en cas de basculement.
B站基于AIFlow+Flink在批流融合调度上的实践
Nous accueillons volontiers les contributions à AIFlow de toutes les manières, qu'il s'agisse de signaler des problèmes, de rédiger des fonctionnalités ou de contribuer à des modifications de code. Vous pouvez signaler des problèmes pour demander des fonctionnalités dans les problèmes GitHub. Si vous souhaitez contribuer aux modifications du code, veuillez consulter la documentation de contribution.
Pour plus d'informations, nous vous recommandons de rejoindre le groupe communautaire AIFlow sur les groupes Google pour nous contacter : [email protected] .
Vous pouvez également rejoindre le groupe sur DingTalk. Le numéro du groupe DingTalk est 35876083
, groupe qui peut également être rejoint en scannant le code QR ci-dessous :