टीएफएक्स पाइपलाइनों का निर्माण

Pipeline वर्ग का उपयोग करना

टीएफएक्स पाइपलाइनों को Pipeline वर्ग का उपयोग करके परिभाषित किया गया है। निम्नलिखित उदाहरण दर्शाता है कि Pipeline वर्ग का उपयोग कैसे करें।

pipeline.Pipeline(
    pipeline_name=pipeline-name,
    pipeline_root=pipeline-root,
    components=components,
    enable_cache=enable-cache,
    metadata_connection_config=metadata-connection-config,
)

निम्नलिखित को बदलें:

  • pipeline-name : इस पाइपलाइन का नाम. पाइपलाइन का नाम अद्वितीय होना चाहिए.

    घटक इनपुट कलाकृतियों के लिए एमएल मेटाडेटा को क्वेरी करते समय टीएफएक्स पाइपलाइन नाम का उपयोग करता है। पाइपलाइन नाम का पुन: उपयोग करने से अप्रत्याशित व्यवहार हो सकता है।

  • pipeline-root : इस पाइपलाइन के आउटपुट का मूल पथ। रूट पथ उस निर्देशिका का पूरा पथ होना चाहिए जिसे आपके ऑर्केस्ट्रेटर ने पढ़ा और लिखा हो। रनटाइम पर, TFX घटक कलाकृतियों के लिए आउटपुट पथ उत्पन्न करने के लिए पाइपलाइन रूट का उपयोग करता है। यह निर्देशिका स्थानीय हो सकती है, या Google क्लाउड स्टोरेज या HDFS जैसे समर्थित वितरित फ़ाइल सिस्टम पर हो सकती है।

  • components : घटक उदाहरणों की एक सूची जो इस पाइपलाइन के वर्कफ़्लो को बनाती है।

  • enable-cache : (वैकल्पिक) एक बूलियन मान जो इंगित करता है कि क्या यह पाइपलाइन पाइपलाइन निष्पादन को गति देने के लिए कैशिंग का उपयोग करती है।

  • metadata-connection-config : (वैकल्पिक) एमएल मेटाडेटा के लिए एक कनेक्शन कॉन्फ़िगरेशन।

घटक निष्पादन ग्राफ़ को परिभाषित करना

घटक उदाहरण आउटपुट के रूप में कलाकृतियों का उत्पादन करते हैं और आम तौर पर इनपुट के रूप में अपस्ट्रीम घटक उदाहरणों द्वारा उत्पादित कलाकृतियों पर निर्भर करते हैं। घटक उदाहरणों के लिए निष्पादन अनुक्रम आर्टिफैक्ट निर्भरताओं का एक निर्देशित एसाइक्लिक ग्राफ (डीएजी) बनाकर निर्धारित किया जाता है।

उदाहरण के लिए, ExampleGen मानक घटक CSV फ़ाइल से डेटा ग्रहण कर सकता है और क्रमबद्ध उदाहरण रिकॉर्ड आउटपुट कर सकता है। StatisticsGen मानक घटक इन उदाहरण रिकॉर्ड को इनपुट के रूप में स्वीकार करता है और डेटासेट आँकड़े तैयार करता है। इस उदाहरण में, StatisticsGen के उदाहरण को ExampleGen अनुसरण करना चाहिए क्योंकि SchemaGen ExampleGen के आउटपुट पर निर्भर करता है।

कार्य-आधारित निर्भरताएँ

आप अपने घटक के add_upstream_node और add_downstream_node तरीकों का उपयोग करके कार्य-आधारित निर्भरता को भी परिभाषित कर सकते हैं। add_upstream_node आपको यह निर्दिष्ट करने देता है कि वर्तमान घटक को निर्दिष्ट घटक के बाद निष्पादित किया जाना चाहिए। add_downstream_node आपको यह निर्दिष्ट करने देता है कि वर्तमान घटक को निर्दिष्ट घटक से पहले निष्पादित किया जाना चाहिए।

पाइपलाइन टेम्पलेट्स

पाइपलाइन को शीघ्रता से स्थापित करने का सबसे आसान तरीका, और यह देखना कि सभी टुकड़े एक साथ कैसे फिट होते हैं, एक टेम्पलेट का उपयोग करना है। टेम्प्लेट का उपयोग स्थानीय रूप से टीएफएक्स पाइपलाइन बनाने में शामिल है।

कैशिंग

टीएफएक्स पाइपलाइन कैशिंग आपकी पाइपलाइन को उन घटकों पर छोड़ देती है जिन्हें पिछले पाइपलाइन रन में इनपुट के समान सेट के साथ निष्पादित किया गया है। यदि कैशिंग सक्षम है, तो पाइपलाइन प्रत्येक घटक के हस्ताक्षर, घटक और इनपुट के सेट को इस पाइपलाइन के पिछले घटक निष्पादन में से एक से मिलान करने का प्रयास करती है। यदि कोई मेल है, तो पाइपलाइन पिछले रन से घटक आउटपुट का उपयोग करती है। यदि कोई मेल नहीं है, तो घटक निष्पादित हो जाता है।

यदि आपकी पाइपलाइन गैर-नियतात्मक घटकों का उपयोग करती है तो कैशिंग का उपयोग न करें। उदाहरण के लिए, यदि आप अपनी पाइपलाइन के लिए एक यादृच्छिक संख्या बनाने के लिए एक घटक बनाते हैं, तो कैश को सक्षम करने से यह घटक एक बार निष्पादित हो जाता है। इस उदाहरण में, बाद के रन यादृच्छिक संख्या उत्पन्न करने के बजाय पहले रन की यादृच्छिक संख्या का उपयोग करते हैं।