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 sólo necesita programar ComponentLaunchers basados en 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