Niestandardowy orkiestrator
TFX został zaprojektowany tak, aby można go było przenosić do wielu środowisk i struktur orkiestracji. Programiści mogą tworzyć niestandardowych orkiestratorów lub dodawać dodatkowych orkiestratorów oprócz domyślnych orkiestratorów obsługiwanych przez TFX, a mianowicie Local , Vertex AI , Airflow i Kubeflow .
Wszyscy koordynatorzy muszą dziedziczyć z TfxRunner . Orkiestratorzy TFX przyjmują logiczny obiekt potoku, który zawiera argumenty potoku, komponenty i DAG, i są odpowiedzialni za planowanie komponentów potoku TFX w oparciu o zależności zdefiniowane przez DAG.
Przyjrzyjmy się na przykład, jak utworzyć niestandardowego koordynatora za pomocą BaseComponentLauncher . BaseComponentLauncher obsługuje już sterownik, wykonawcę i wydawcę pojedynczego komponentu. Nowy koordynator musi jedynie zaplanować programy ComponentLaunchers w oparciu o DAG. Dostępny jest prosty orkiestrator jako LocalDagRunner , który uruchamia komponenty jeden po drugim w kolejności topologicznej DAG.
Tego orkiestratora można używać w Pythonie DSL:
def _create_pipeline(...) -> dsl.Pipeline:
...
return dsl.Pipeline(...)
if __name__ == '__main__':
orchestration.LocalDagRunner().run(_create_pipeline(...))
Aby uruchomić plik Python DSL (zakładając, że nosi on nazwę dsl.py), po prostu wykonaj następujące czynności:
python dsl.py