编排 TFX 管道

自定义编排器

TFX 旨在可移植到多个环境和编排框架。开发人员可以创建自定义编排器,或者除了 TFX 支持的默认编排器(即 本地Vertex AIAirflowKubeflow)之外,添加其他编排器。

所有编排器都必须继承自 TfxRunner。TFX 编排器接受包含管道参数、组件和 DAG 的逻辑管道对象,并负责根据 DAG 定义的依赖关系调度 TFX 管道的组件。

例如,让我们看看如何使用 BaseComponentLauncher 创建自定义编排器。BaseComponentLauncher 已经处理单个组件的驱动程序、执行器和发布者。新的编排器只需要根据 DAG 调度 ComponentLauncher。一个简单的编排器作为 LocalDagRunner 提供,它按 DAG 的拓扑顺序逐个运行组件。

此编排器可以在 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