Orquestrando pipelines TFX

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