ऑर्केस्ट्रेटिंग टीएफएक्स पाइपलाइन

कस्टम ऑर्केस्ट्रेटर

टीएफएक्स को कई वातावरणों और ऑर्केस्ट्रेशन ढांचे के लिए पोर्टेबल होने के लिए डिज़ाइन किया गया है। डेवलपर्स कस्टम ऑर्केस्ट्रेटर बना सकते हैं या डिफ़ॉल्ट ऑर्केस्ट्रेटर के अलावा अतिरिक्त ऑर्केस्ट्रेटर जोड़ सकते हैं जो टीएफएक्स, अर्थात् लोकल , वर्टेक्स एआई , एयरफ्लो और क्यूबफ्लो द्वारा समर्थित हैं।

सभी ऑर्केस्ट्रेटर्स को TfxRunner से विरासत में मिलना चाहिए। टीएफएक्स ऑर्केस्ट्रेटर तार्किक पाइपलाइन ऑब्जेक्ट लेते हैं, जिसमें पाइपलाइन तर्क, घटक और डीएजी शामिल होते हैं, और डीएजी द्वारा परिभाषित निर्भरता के आधार पर टीएफएक्स पाइपलाइन के शेड्यूलिंग घटकों के लिए जिम्मेदार होते हैं।

उदाहरण के लिए, आइए देखें कि BaseComponentLauncher के साथ एक कस्टम ऑर्केस्ट्रेटर कैसे बनाया जाए। BaseComponentLauncher पहले से ही एक घटक के ड्राइवर, निष्पादक और प्रकाशक को संभालता है। नए ऑर्केस्ट्रेटर को केवल DAG के आधार पर कंपोनेंट लॉन्चर्स को शेड्यूल करने की आवश्यकता है। एक सरल ऑर्केस्ट्रेटर LocalDagRunner के रूप में प्रदान किया जाता है, जो DAG के टोपोलॉजिकल क्रम में घटकों को एक-एक करके चलाता है।

इस ऑर्केस्ट्रेटर का उपयोग पायथन डीएसएल में किया जा सकता है:

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

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

Python DSL फ़ाइल के ऊपर चलने के लिए (मान लें कि इसे dsl.py नाम दिया गया है), बस निम्नलिखित कार्य करें:

python dsl.py