カスタム オーケストレーター
TFX は、複数の環境およびオーケストレーション フレームワークに移植できるように設計されています。開発者は、カスタム オーケストレーターを作成したり、TFX でサポートされるデフォルト オーケストレーター ( Local 、 Vertex AI 、 Airflow 、 Kubeflow ) に加えて追加のオーケストレーターを追加したりできます。
すべてのオーケストレーターはTfxRunnerから継承する必要があります。 TFX オーケストレーターは、パイプライン引数、コンポーネント、および DAG を含む論理パイプライン オブジェクトを受け取り、DAG によって定義された依存関係に基づいて TFX パイプラインのコンポーネントをスケジュールします。
たとえば、 BaseComponentLauncherを使用してカスタム オーケストレーターを作成する方法を見てみましょう。 BaseComponentLauncher は、単一コンポーネントのドライバー、エグゼキューター、およびパブリッシャーをすでに処理しています。新しいオーケストレーターは、DAG に基づいて ComponentLauncher をスケジュールするだけで済みます。シンプルなオーケストレーターはLocalDagRunnerとして提供されており、DAG のトポロジ順にコンポーネントを 1 つずつ実行します。
このオーケストレーターは 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