Dans le pipeline Kedro, les nœuds (quelque chose comme les fonctions python) sont déclarés séquentiellement. Dans certains cas, l'entrée d'un nœud est la sortie du nœud précédent. Cependant, parfois, lorsque kedro run API est appelé dans la ligne de commande, les nœuds ne sont pas exécutés de manière séquentielle.
Dans la documentation de kedro, il est dit que par défaut les nœuds sont exécutés en séquence.
Mon code run.py:
def main(
tags: Iterable[str] = None,
env: str = None,
runner: Type[AbstractRunner] = None,
node_names: Iterable[str] = None,
from_nodes: Iterable[str] = None,
to_nodes: Iterable[str] = None,
from_inputs: Iterable[str] = None,
):
project_context = ProjectContext(Path.cwd(), env=env)
project_context.run(
tags=tags,
runner=runner,
node_names=node_names,
from_nodes=from_nodes,
to_nodes=to_nodes,
from_inputs=from_inputs,
)
Actuellement, mon dernier nœud est parfois exécuté avant mes premiers nœuds.
1 réponse
La réponse que j'ai reçue de Kedro github:
Le pipeline détermine actuellement l'ordre d'exécution des nœuds en fonction exclusivement des dépendances des ensembles de données (entrées et sorties des nœuds). Ainsi, la seule option pour dicter que le nœud A doit s'exécuter avant le nœud B est de mettre un jeu de données factice en sortie du nœud A et en entrée du nœud B.
Questions connexes
Questions liées
De nouvelles questions
python
Python est un langage de programmation multi-paradigme, typé dynamiquement et polyvalent. Il est conçu pour être rapide à apprendre, comprendre, utiliser et appliquer une syntaxe propre et uniforme. Veuillez noter que Python 2 est officiellement hors support à partir du 01-01-2020. Néanmoins, pour les questions Python spécifiques à la version, ajoutez la balise [python-2.7] ou [python-3.x]. Lorsque vous utilisez une variante Python (par exemple, Jython, PyPy) ou une bibliothèque (par exemple, Pandas et NumPy), veuillez l'inclure dans les balises.