Orquestrador Personalizado
O TFX foi projetado para ser portátil para vários ambientes e estruturas de orquestração. Os desenvolvedores podem criar orquestradores personalizados ou adicionar orquestradores adicionais além dos orquestradores padrão que são suportados pelo TFX, nomeadamente Local , Vertex AI , Airflow e Kubeflow .
Todos os orquestradores devem herdar de TfxRunner . Os orquestradores TFX pegam o objeto de pipeline lógico, que contém argumentos de pipeline, componentes e DAG, e são responsáveis por agendar componentes do pipeline TFX com base nas dependências definidas pelo DAG.
Por exemplo, vejamos como criar um orquestrador personalizado com BaseComponentLauncher . BaseComponentLauncher já lida com driver, executor e editor de um único componente. O novo orquestrador só precisa agendar ComponentLaunchers com base no DAG. Um orquestrador simples é fornecido como LocalDagRunner , que executa os componentes um por um na ordem topológica do DAG.
Este orquestrador pode ser usado na DSL Python:
def _create_pipeline(...) -> dsl.Pipeline:
...
return dsl.Pipeline(...)
if __name__ == '__main__':
orchestration.LocalDagRunner().run(_create_pipeline(...))
Para executar o arquivo Python DSL acima (assumindo que seja denominado dsl.py), basta fazer o seguinte:
python dsl.py