Orchestratore personalizzato
TFX è progettato per essere portabile in più ambienti e framework di orchestrazione. Gli sviluppatori possono creare orchestratori personalizzati o aggiungere ulteriori orchestratori oltre a quelli predefiniti supportati da TFX, ovvero Local , Vertex AI , Airflow e Kubeflow .
Tutti gli orchestratori devono ereditare da TfxRunner . Gli agenti di orchestrazione TFX accettano l'oggetto pipeline logico, che contiene argomenti, componenti e DAG della pipeline e sono responsabili della pianificazione dei componenti della pipeline TFX in base alle dipendenze definite dal DAG.
Ad esempio, esaminiamo come creare un orchestratore personalizzato con BaseComponentLauncher . BaseComponentLauncher gestisce già driver, esecutore ed editore di un singolo componente. Il nuovo orchestratore deve solo pianificare ComponentLauncher in base al DAG. Viene fornito un semplice orchestratore come LocalDagRunner , che esegue i componenti uno per uno nell'ordine topologico del DAG.
Questo orchestratore può essere utilizzato in Python DSL:
def _create_pipeline(...) -> dsl.Pipeline:
...
return dsl.Pipeline(...)
if __name__ == '__main__':
orchestration.LocalDagRunner().run(_create_pipeline(...))
Per eseguire sopra il file DSL Python (supponendo che si chiami dsl.py), procedi semplicemente come segue:
python dsl.py