ออเคสตราที่กำหนดเอง
TFX ได้รับการออกแบบมาให้พกพาได้กับสภาพแวดล้อมและกรอบงานการประสานที่หลากหลาย นักพัฒนาสามารถสร้างออเคสตราที่กำหนดเองหรือเพิ่มออเคสตราเพิ่มเติมนอกเหนือจากออเคสตราเริ่มต้นที่ TFX รองรับ ได้แก่ Local , Vertex AI , Airflow และ Kubeflow
ออเคสตราทั้งหมดจะต้องสืบทอดมาจาก TfxRunner ผู้ดำเนินการ TFX จะใช้อ็อบเจ็กต์ไปป์ไลน์แบบลอจิคัล ซึ่งประกอบด้วย args ไปป์ไลน์ ส่วนประกอบ และ DAG และมีหน้าที่รับผิดชอบในการจัดกำหนดการส่วนประกอบของไปป์ไลน์ TFX ตามการขึ้นต่อกันที่กำหนดโดย DAG
ตัวอย่างเช่น มาดูวิธีสร้าง orchestrator แบบกำหนดเองด้วย BaseComponentLauncher BaseComponentLauncher จัดการไดรเวอร์ ตัวดำเนินการ และผู้เผยแพร่ส่วนประกอบเดียวแล้ว ออเคสตราใหม่เพียงแค่ต้องกำหนดเวลา ComponentLaunchers ตาม DAG Orchestrator อย่างง่ายมีให้เป็น 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