Orchestration des pipelines TFX

Orchestrateur personnalisé

TFX est conçu pour être portable sur plusieurs environnements et frameworks d'orchestration. Les développeurs peuvent créer des orchestrateurs personnalisés ou ajouter des orchestrateurs supplémentaires en plus des orchestrateurs par défaut pris en charge par TFX, à savoir Local , Vertex AI , Airflow et Kubeflow .

Tous les orchestrateurs doivent hériter de TfxRunner . Les orchestrateurs TFX utilisent l'objet pipeline logique, qui contient les arguments du pipeline, les composants et le DAG, et sont responsables de la planification des composants du pipeline TFX en fonction des dépendances définies par le DAG.

Par exemple, voyons comment créer un orchestrateur personnalisé avec BaseComponentLauncher . BaseComponentLauncher gère déjà le pilote, l'exécuteur et l'éditeur d'un seul composant. Le nouvel orchestrateur doit simplement planifier les ComponentLaunchers en fonction du DAG. Un simple orchestrateur est fourni sous le nom de LocalDagRunner , qui exécute les composants un par un dans l'ordre topologique du DAG.

Cet orchestrateur peut être utilisé dans le Python DSL :

def _create_pipeline(...) -> dsl.Pipeline:
  ...
  return dsl.Pipeline(...)

if __name__ == '__main__':
  orchestration.LocalDagRunner().run(_create_pipeline(...))

Pour exécuter au-dessus du fichier Python DSL (en supposant qu'il s'appelle dsl.py), procédez simplement comme suit :

python dsl.py