उदाहरण के साथ Informatica में जॉइनर परिवर्तन

⚡ स्मार्ट सारांश

इनफॉर्मेटिका में जॉइनर ट्रांसफॉर्मेशन एक सक्रिय, कनेक्टेड ऑब्जेक्ट है जो एक मिलान शर्त पर दो विषम स्रोतों को जोड़ता है, मास्टर पाइपलाइन को मेमोरी में कैश करता है जबकि डिटेल पाइपलाइन इसके माध्यम से स्ट्रीम होती है।

  • 🧩 मुख्य भाग और विवरण: दो इनपुट पाइपलाइन रूपांतरण को फीड करती हैं, और पोर्ट्स टैब यह तय करता है कि कौन सी पाइपलाइन मास्टर के रूप में कार्य करती है।
  • 💾 मास्टर को कैश किया गया है: मास्टर पाइपलाइन हमेशा एक इंडेक्स और डेटा कैश में निर्मित होती है, इसलिए छोटा स्रोत वहीं होना चाहिए।
  • 🔗 चार प्रकार के जॉइन: नॉर्मल, मास्टर आउटर, डिटेल आउटर और फुल आउटर यह तय करते हैं कि कौन सी बेमेल पंक्तियाँ जॉइन के बाद बनी रहेंगी।
  • 🧪 उदाहरण सहित: EMP और DEPT को deptno के आधार पर एक सामान्य जॉइन के साथ जोड़ा जाता है और EMP_DEPTNAME में लोड किया जाता है।
  • केवल समानता: एक जॉइन कंडीशन इक्वल्स ऑपरेटर का उपयोग करके पोर्ट्स की तुलना करती है, और दोनों पोर्ट्स का डेटाटाइप एक जैसा होना चाहिए।
  • क्रमबद्ध इनपुट: कंडीशन पोर्ट पर दोनों पाइपलाइनों को पहले से सॉर्ट करने से सेशन के दौरान डिस्क इनपुट और आउटपुट कम हो जाता है।

इन्फॉर्मेटिका में जॉइनर रूपांतरण

जॉइनर ट्रांसफॉर्मेशन क्या है?

जॉइनर ट्रांसफॉर्मेशन एक सक्रिय और कनेक्टेड ट्रांसफॉर्मेशन है जो आपको इन्फॉर्मेटिका में जॉइन बनाने का विकल्प प्रदान करता है। जॉइनर ट्रांसफॉर्मेशन का उपयोग करके बनाए गए जॉइन डेटाबेस में जॉइन के समान होते हैं। जॉइनर ट्रांसफॉर्मेशन का लाभ यह है कि विभिन्न डेटाबेस (हेटेरोजेनियस सिस्टम) के लिए जॉइन बनाए जा सकते हैं।

जॉइनर ट्रांसफॉर्मेशन में, जॉइन के लिए हम दो स्रोतों का उपयोग करेंगे। इन दो स्रोतों को कहा जाता है

  • मास्टर स्रोत
  • विस्तृत स्रोत

जॉइनर ट्रांसफॉर्मेशन की प्रॉपर्टीज़ में, आप यह चुन सकते हैं कि कौन सा डेटा स्रोत मास्टर हो सकता है और कौन सा स्रोत डिटेल स्रोत हो सकता है।

निष्पादन के दौरान, मास्टर स्रोत को जॉइनिंग के उद्देश्य से मेमोरी में कैश किया जाता है। इसलिए, कम रिकॉर्ड वाले स्रोत को मास्टर स्रोत के रूप में चुनना उचित है। मास्टर पाइपलाइन को दो कैश में रखा जाता है: जॉइन कंडीशन में उपयोग किए गए मानों के लिए एक इंडेक्स कैश और शेष पंक्ति डेटा के लिए एक डेटा कैश।

जॉइनर ट्रांसफॉर्मेशन में जॉइन के प्रकार

प्रॉपर्टीज़ टैब पर मौजूद जॉइन टाइप प्रॉपर्टी यह तय करती है कि जिन पंक्तियों का कोई मिलान नहीं मिलता, उनके साथ क्या होगा। जॉइनर ट्रांसफॉर्मेशन का उपयोग करके निम्नलिखित जॉइन बनाए जा सकते हैं।

  1. मास्टर बाहरी जोड़ – मास्टर आउटर जॉइन में, डिटेल सोर्स के सभी रिकॉर्ड जॉइन द्वारा वापस किए जाते हैं और मास्टर सोर्स से केवल मेल खाने वाली पंक्तियाँ ही वापस की जाती हैं।
  2. बाहरी जोड़ का विवरण – डिटेल आउटर जॉइन में, डिटेल सोर्स से केवल मेल खाने वाली पंक्तियाँ ही वापस की जाती हैं, और मास्टर सोर्स से सभी पंक्तियाँ वापस की जाती हैं।
  3. पूर्ण बाहरी जुड़ाव – फुल आउटर जॉइन में, दोनों स्रोतों से सभी रिकॉर्ड वापस किए जाते हैं।
  4. सामान्य जुड़ाव – सामान्य जॉइन में, दोनों स्रोतों से केवल मेल खाने वाली पंक्तियाँ ही वापस की जाती हैं।

मास्टर आउटर और डिटेल आउटर जॉइंट्स, लेफ्ट आउटर जॉइंट्स के समतुल्य होते हैं। एसक्यूएलप्रत्येक प्रकार एक स्रोत की सभी पंक्तियों को रखता है और दूसरे स्रोत से केवल मिलान किए गए मानों को ही रखता है। नीचे दी गई तालिका में चारों प्रकारों को उनके SQL समकक्षों के साथ दर्शाया गया है।

सम्मिलित प्रकार मास्टर से पंक्तियों को अलग रखा गया पंक्तियों को विवरण से अलग रखा गया है SQL समकक्ष
सामान्य जुड़ाव केवल मिलान करें केवल मिलान करें आंतरिक रूप से जुड़ा
मास्टर बाहरी जोड़ केवल मिलान करें सभी पंक्तियाँ विवरण स्रोत पर बायां बाहरी जोड़
बाहरी जोड़ का विवरण सभी पंक्तियाँ केवल मिलान करें मास्टर स्रोत पर बायां बाहरी जोड़
पूर्ण बाहरी जुड़ाव सभी पंक्तियाँ सभी पंक्तियाँ पूर्ण बाहरी जुड़ाव

जॉइन टाइप एक प्रॉपर्टी है, संरचनात्मक विकल्प नहीं, इसलिए इसे मैप को दोबारा बनाए बिना बाद में बदला जा सकता है।ping या किसी भी पोर्ट को पुनः लिंक करना।

इनफॉर्मेटिका में जॉइनर ट्रांसफॉर्मेशन का उपयोग कैसे करें

इस उदाहरण में, हम जॉइनर ट्रांसफॉर्मेशन का उपयोग करके emp और dept टेबल को जोड़ेंगे। नीचे दिए गए मैप में आठ चरणों का पालन करें।ping डिजाइनर।

चरण 1) नीचे दिए गए स्क्रिप्ट का उपयोग करके डेटाबेस में EMP_DEPTNAME नामक एक नई लक्ष्य तालिका बनाएं और उस तालिका को इन्फॉर्मेटिका लक्ष्यों में आयात करें।

उपरोक्त emp_deptname.sql फ़ाइल डाउनलोड करें

चरण 2) कोई नया बनाएं नक्शाping और स्रोत तालिकाओं "EMP" और "DEPT" तथा लक्ष्य तालिका (जिसे हमने पिछले चरण में बनाया था) को आयात करें। अब तीनों परिभाषाएँ कैनवास पर मौजूद हैं, जैसा कि नीचे दिखाया गया है।

नक्शाping EMP और DEPT स्रोतों और EMP_DEPTNAME लक्ष्य परिभाषा के साथ डिज़ाइनर कैनवास

चरण 3) ट्रांसफॉर्मेशन मेनू से, क्रिएट विकल्प चुनें। फिर नीचे दिखाए गए क्रिएट ट्रांसफॉर्मेशन विंडो में,

  1. जॉइनर परिवर्तन का चयन करें
  2. परिवर्तन नाम “jnr_emp_dept” दर्ज करें
  3. बनाएँ विकल्प चुनें

जॉइनर का चयन करके और jnr_emp_dept नाम दर्ज करके ट्रांसफॉर्मेशन विंडो बनाएं।

चरण 4) दोनों तरफ से सभी कॉलम खींचें और छोड़ें स्रोत योग्यताकर्ता जॉइनर ट्रांसफॉर्मेशन के लिए। जैसा कि स्क्रीनशॉट में दिखाया गया है, दोनों पाइपलाइन अब jnr_emp_dept से जुड़ी हुई हैं।

दोनों सोर्स क्वालिफायर के कॉलम को jnr_emp_dept जॉइनर ट्रांसफॉर्मेशन में ड्रैग किया गया।

चरण 5) Double जॉइनर ट्रांसफॉर्मेशन पर क्लिक करें, फिर एडिट ट्रांसफॉर्मेशन विंडो में जाएं।

  1. शर्त टैब चुनें
  2. नई शर्त जोड़ें आइकन पर क्लिक करें
  3. मास्टर और विवरण कॉलम सूची में विभाग संख्या का चयन करें

कंडीशन टैब में अब deptno पर सिंगल जॉइन कंडीशन है।

मास्टर और डिटेल कॉलम में deptno का चयन करने पर जॉइनर ट्रांसफॉर्मेशन के कंडीशन टैब में

चरण 6) फिर उसी विंडो में

  1. गुण टैब चुनें
  2. जॉइन प्रकार के रूप में नॉर्मल जॉइन चुनें
  3. ओके बटन चुनें

इसके बाद, जॉइन टाइप सेट के साथ प्रॉपर्टीज़ टैब दिखाया गया है।

जॉइनर ट्रांसफॉर्मेशन के प्रॉपर्टीज़ टैब में जॉइन टाइप को नॉर्मल जॉइन पर सेट करें।

प्रदर्शन को बेहतर बनाने के लिए, हम मास्टर स्रोत को उस स्रोत तालिका पाइपलाइन को सौंपते हैं जिसमें कम रिकॉर्ड होते हैं। इस कार्य को करने के लिए:

चरण 7) Double जॉइनर ट्रांसफॉर्मेशन पर क्लिक करके एडिट ट्रांसफॉर्मेशन विंडो खोलें, और फिर

  1. पोर्ट टैब चुनें
  2. किसी विशेष स्रोत के किसी भी कॉलम का चयन करें जिसे आप मास्टर बनाना चाहते हैं
  3. चयन ठीक है

पोर्ट्स टैब चयनित पाइपलाइन को मास्टर के रूप में चिह्नित करता है, जैसा कि नीचे दिखाया गया है।

जॉइनर ट्रांसफॉर्मेशन के पोर्ट्स टैब में, एक सोर्स पाइपलाइन के लिए मास्टर फ्लैग सेट किया गया है।

चरण 8) जॉइनर ट्रांसफॉर्मेशन से संबंधित कॉलम को लक्ष्य तालिका से लिंक करें। मैपping अब यह दोनों स्रोतों से EMP_DEPTNAME में शामिल होकर चलता है।

jnr_emp_dept से EMP_DEPTNAME लक्ष्य तालिका तक जुड़े हुए कॉलम

अब मानचित्र को सहेजेंping और इसे बनाने के बाद निष्पादित करें सत्र और वर्कफ़्लो इसके लिए, इनफॉर्मेटिका जॉइनर का उपयोग करके जॉइन बनाया जाएगा, और दोनों तालिकाओं से प्रासंगिक विवरण प्राप्त किए जाएंगे।

जॉइनर रूपांतरण गुण

प्रॉपर्टीज़ टैब में जॉइन टाइप से कहीं अधिक जानकारी होती है। नीचे दी गई सेटिंग्स यह नियंत्रित करती हैं कि जॉइन कितनी मेमोरी का उपयोग करता है और कैश फ़ाइलें कहाँ लिखी जाती हैं।

की स्थापना यह क्या नियंत्रित करता है?
जॉइन टाइप नॉर्मल, मास्टर आउटर, डिटेल आउटर या फुल आउटर। यह तय करता है कि किन बेमेल पंक्तियों को रखा जाएगा।
शामिल होने की शर्त मास्टर-टू-डिटेल पोर्ट युग्मों की सूची की तुलना इक्वल ऑपरेटर का उपयोग करके की जाती है। कई शर्तों को AND का उपयोग करके संयोजित किया जाता है।
क्रमबद्ध इनपुट यह घोषित करता है कि दोनों पाइपलाइन पहले से ही पोर्ट की स्थिति के अनुसार क्रमबद्ध होकर आती हैं, जिससे एकीकरण सेवा डिस्क इनपुट और आउटपुट को कम कर सकती है।
मास्टर सॉर्ट ऑर्डर मुख्य स्रोत डेटा का सॉर्ट क्रम, सॉर्ट किए गए इनपुट के साथ उपयोग किया जाता है।
कैश निर्देशिका वह निर्देशिका जिसमें इंडेक्स और डेटा कैश फाइलें बनाई जाती हैं। डिफ़ॉल्ट मान $PMCacheDir प्रोसेस वेरिएबल है।
जॉइनर डेटा कैश आकार मास्टर रो डेटा को रखने वाले डेटा कैश का आकार। डिफ़ॉल्ट मान ऑटो है, जिससे इंटीग्रेशन सर्विस इसे निर्धारित कर सकती है।
जॉइनर इंडेक्स कैश आकार मास्टर कंडीशन वैल्यू को रखने वाले इंडेक्स कैश का आकार। डिफ़ॉल्ट मान ऑटो है।
परिवर्तन का दायरा यह जॉइन प्रत्येक लेनदेन पर, सभी आने वाले डेटा पर, या पंक्ति-स्तर के दायरे पर लागू होता है।

सॉर्टेड इनपुट वह सेटिंग है जिसे सबसे पहले अपनाना चाहिए। जब ​​दोनों पाइपलाइनें कंडीशन पोर्ट्स द्वारा क्रमबद्ध रूप में आती हैं, तो इंटीग्रेशन सर्विस को मिलान शुरू होने से पहले पूरे मास्टर सोर्स को रखने की आवश्यकता नहीं होती है, जो कि वही सिद्धांत है जो इसके दौरान लागू होता है। प्रदर्शन सुधारना अन्य कैश्ड रूपांतरणों का।

जॉइनर रूपांतरण नियम और सीमाएँ

कुछ प्रतिबंध तभी सामने आते हैं जब मानचित्रping इसकी पुष्टि हो चुकी है, इसलिए पोर्ट को लिंक करने से पहले इनके बारे में जानना सस्ता पड़ता है।

  • केवल समानता। एक जॉइन कंडीशन में पोर्ट्स की तुलना इक्वल्स ऑपरेटर से की जाती है। ग्रेटर देन, लेस देन या नॉट इक्वल टू जैसे तुलनात्मक ऑपरेटर इस कंडीशन में स्वीकार्य नहीं हैं।
  • डेटा प्रकारों का मिलान। किसी भी स्थिति में दोनों पोर्ट का डेटाटाइप समान होना चाहिए। डिज़ाइनर इसकी पुष्टि करता है, इसलिए बेमेल कॉलम को पहले परिवर्तित करना पड़ता है, आमतौर पर एक्सप्रेशन ट्रांसफॉर्मेशन में।
  • अपस्ट्रीम में कोई अपडेट रणनीति नहीं है। जब किसी भी इनपुट पाइपलाइन में अपडेट स्ट्रेटेजी ट्रांसफॉर्मेशन मौजूद हो, तो जॉइनर ट्रांसफॉर्मेशन का उपयोग नहीं किया जा सकता है।
  • कोई अनुक्रम नहीं Generator ठीक उससे पहले। एक अनुक्रम को जोड़ना Generator जॉइनर से ठीक पहले की ओर होने वाला रूपांतरण समर्थित नहीं है।
  • कैशिंग को बंद नहीं किया जा सकता है। मास्टर पाइपलाइन हमेशा कैश की जाती है, यही कारण है कि छोटा स्रोत मास्टर साइड पर होता है और बड़े जॉइन पर कैश साइजिंग मायने रखती है।

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

अक्सर पूछे जाने वाले प्रश्न

दो। प्रत्येक जॉइनर एक मास्टर और एक डिटेल पाइपलाइन स्वीकार करता है, इसलिए तीन स्रोतों को जोड़ने का मतलब है उनमें से दो को आपस में जोड़ना: पहले का आउटपुट दूसरे की इनपुट पाइपलाइन बन जाता है। सामान्य तौर पर, n स्रोतों के लिए n माइनस एक की आवश्यकता होती है।

जब दोनों टेबल एक ही रिलेशनल डेटाबेस में हों, तो सोर्स क्वालिफायर उस जॉइन को डेटाबेस में भेज देता है, जिससे कैशिंग की आवश्यकता पूरी तरह से समाप्त हो जाती है। जॉइनर का उपयोग केवल तभी करें जब दोनों स्रोत भिन्न-भिन्न हों या पहले से ही अलग-अलग पाइपलाइन में हों।

इंडेक्स कैश में जॉइन कंडीशन में निर्दिष्ट मास्टर पोर्ट मान संग्रहीत होते हैं, और डेटा कैश में जॉइन द्वारा लौटाए गए शेष मास्टर पंक्ति डेटा संग्रहीत होते हैं। ये दोनों केवल मास्टर पाइपलाइन से ही निर्मित होते हैं, डिटेल पाइपलाइन से कभी नहीं।

नहीं। किसी भी पोर्ट में नल वैल्यू होने पर कंडीशन फेल हो जाती है, ठीक वैसे ही जैसे SQL में होता है, इसलिए उन पंक्तियों को अनमैच्ड माना जाता है। जहां जॉइन होना हो, वहां नल वैल्यू को डिफ़ॉल्ट वैल्यू से बदल दें।

हाँ। स्रोत परिभाषा को मानचित्र में जोड़ें।ping दो बार डेटा भेजें ताकि दो अलग-अलग पाइपलाइन बन जाएं, फिर एक को मास्टर साइड में और दूसरे को डिटेल साइड में डालें। मैनेजर कॉलम को कर्मचारी के नाम में बदलने का यही सामान्य तरीका है।

हाँ, और यही विषम परिस्थिति इस परिवर्तन का मुख्य कारण है। एक फ्लैट फ़ाइल पाइपलाइन और एक रिलेशनल पाइपलाइन, दो डेटाबेस टेबल की तरह ही, समान पोर्ट पर जुड़ती हैं, क्योंकि यह जुड़ाव इंटीग्रेशन सर्विस के अंदर होता है।

एआई सहायक दोनों स्रोतों का विश्लेषण करके संभावित जॉइन कुंजी सुझाते हैं, पंक्तियों की संख्या का अनुमान लगाते हैं ताकि छोटी पंक्ति को मास्टर के रूप में चुना जा सके, और उन कॉलमों को चिह्नित करते हैं जिनमें अनियमितता हो या जिनमें बहुत सारे शून्य कॉलम हों जो परिणाम सेट को जटिल बना सकते हैं। मशीन लर्निंग आधारित सलाहकार कैश साइजिंग विकल्पों को भी रैंक करते हैं।

कोपायलट समतुल्य SQL और डेटाटाइप रूपांतरणों को शीघ्रता से तैयार करता है, जिससे पोर्ट तैयार करने का काम कम हो जाता है। यह आपके कैश आकार या पंक्ति गणना को नहीं देख सकता है, इसलिए प्रत्येक सुझाव को मैप के साथ सत्यापित करें।ping इसे सेव करने से पहले।

इस पोस्ट को संक्षेप में इस प्रकार लिखें: