Orquestación de canalizaciones TFX

Orquestador personalizado

TFX está diseñado para ser portátil a múltiples entornos y marcos de orquestación. Los desarrolladores pueden crear orquestadores personalizados o agregar orquestadores adicionales además de los orquestadores predeterminados compatibles con TFX, a saber, Local , Vertex AI , Airflow y Kubeflow .

Todos los orquestadores deben heredar de TfxRunner . Los orquestadores de TFX toman el objeto de canalización lógica, que contiene argumentos de canalización, componentes y DAG, y son responsables de programar los componentes de la canalización TFX en función de las dependencias definidas por el DAG.

Por ejemplo, veamos cómo crear un orquestador personalizado con BaseComponentLauncher . BaseComponentLauncher ya maneja el controlador, el ejecutor y el editor de un único componente. El nuevo orquestador solo necesita programar ComponentLaunchers según el DAG. Se proporciona un orquestador simple como LocalDagRunner , que ejecuta los componentes uno por uno en el orden topológico de DAG.

Este orquestador se puede utilizar en Python DSL:

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

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

Para ejecutar el archivo Python DSL anterior (suponiendo que se llame dsl.py), simplemente haga lo siguiente:

python dsl.py