ارکستراسیون خطوط لوله TFX

ارکستراتور سفارشی

TFX طوری طراحی شده است که برای چندین محیط و چارچوب های ارکستراسیون قابل حمل باشد. توسعه‌دهندگان می‌توانند ارکسترهای سفارشی ایجاد کنند یا ارکسترهای دیگری را علاوه بر ارکسترهای پیش‌فرض که توسط TFX پشتیبانی می‌شوند، اضافه کنند، یعنی Local ، Vertex AI ، Airflow و Kubeflow .

همه ارکسترها باید از TfxRunner ارث ببرند. ارکسترهای TFX شیء خط لوله منطقی را می گیرند که حاوی آرگ های خط لوله، اجزا و DAG است و مسئول زمان بندی اجزای خط لوله TFX بر اساس وابستگی های تعریف شده توسط DAG هستند.

برای مثال، بیایید نحوه ایجاد یک ارکستراتور سفارشی با BaseComponentLauncher را بررسی کنیم. BaseComponentLauncher قبلاً درایور، مجری و ناشر یک مؤلفه را کنترل می کند. ارکستراتور جدید فقط باید ComponentLaunchers را بر اساس DAG برنامه ریزی کند. یک ارکستراتور ساده به عنوان LocalDagRunner ارائه شده است که اجزاء را یک به یک به ترتیب توپولوژیکی DAG اجرا می کند.

این ارکستراتور را می توان در DSL پایتون استفاده کرد:

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

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

برای اجرای بالای فایل DSL پایتون (با فرض اینکه dsl.py نام دارد)، به سادگی موارد زیر را انجام دهید:

python dsl.py