Пользовательский оркестратор
TFX спроектирован таким образом, чтобы его можно было переносить в различные среды и платформы оркестровки. Разработчики могут создавать собственные оркестраторы или добавлять дополнительные оркестраторы в дополнение к оркестраторам по умолчанию, поддерживаемым TFX, а именно Local , Vertex AI , Airflow и Kubeflow .
Все оркестраторы должны наследовать от TfxRunner . Оркестраторы TFX принимают объект логического конвейера, который содержит аргументы конвейера, компоненты и DAG, и отвечают за планирование компонентов конвейера TFX на основе зависимостей, определенных DAG.
Например, давайте посмотрим, как создать собственный оркестратор с помощью BaseComponentLauncher . BaseComponentLauncher уже управляет драйвером, исполнителем и издателем одного компонента. Новому оркестратору просто нужно запланировать ComponentLauncher на основе DAG. В качестве простого оркестратора предоставляется LocalDagRunner , который запускает компоненты один за другим в топологическом порядке группы обеспечения доступности баз данных.
Этот оркестратор можно использовать в Python DSL:
def _create_pipeline(...) -> dsl.Pipeline:
...
return dsl.Pipeline(...)
if __name__ == '__main__':
orchestration.LocalDagRunner().run(_create_pipeline(...))
Чтобы запустить файл Python DSL (при условии, что он называется dsl.py), просто выполните следующее:
python dsl.py