उदाहरण के साथ इन्फॉर्मेटिका में स्रोत क्वालीफायर रूपांतरण
⚡ स्मार्ट सारांश
इनफॉर्मेटिका में सोर्स क्वालिफायर ट्रांसफॉर्मेशन उन पंक्तियों का प्रतिनिधित्व करता है जिन्हें इंटीग्रेशन सर्विस एक रिलेशनल सोर्स या फ्लैट फाइल से पढ़ती है, और यह एक डेवलपर को डिफ़ॉल्ट क्वेरी को ओवरराइड करने, उस डेटा को फ़िल्टर करने, सॉर्ट करने और डुप्लिकेट हटाने की अनुमति देता है।

सोर्स क्वालीफायर रूपांतरण क्या है?
सोर्स क्वालिफायर ट्रांसफॉर्मेशन एक सक्रिय, कनेक्टेड ट्रांसफॉर्मेशन है जो उन पंक्तियों को दर्शाता है जिन्हें इंटीग्रेशन सर्विस सेशन चलने पर पढ़ती है। जब भी किसी मैप में रिलेशनल सोर्स या फ्लैट फ़ाइल को जोड़ा जाता है, तब यह ट्रांसफॉर्मेशन लागू होता है।pingइसके लिए सोर्स क्वालिफायर ट्रांसफॉर्मेशन आवश्यक है, और डिज़ाइनर इसे स्वचालित रूप से जोड़ देता है। सोर्स क्वालिफायर की मदद से आप यह परिभाषित और ओवरराइड कर सकते हैं कि स्रोत से डेटा कैसे प्राप्त किया जाता है।
यह रूपांतरण स्रोत के मूल डेटा प्रकारों को इन्फॉर्मेटिका रूपांतरण डेटा प्रकारों में भी परिवर्तित करता है, इसलिए इसके बाद रखा गया प्रत्येक रूपांतरण एक प्लेटफ़ॉर्म-तटस्थ प्रकारों के सेट के साथ काम करता है।
क्योंकि सोर्स क्वालिफायर ही वह क्वेरी बनाता है जो वास्तव में डेटाबेस तक पहुँचती है, इसलिए जब कोई क्वेरी डेटाबेस तक पहुँचती है तो सबसे पहले यहीं देखना चाहिए। नक्शाping यह क्वेरी आवश्यकता से अधिक पंक्तियाँ या स्तंभ पढ़ती है। नीचे दिया गया उदाहरण क्वेरी को चार स्तंभों तक सीमित कर देता है।
इनफॉर्मेटिका में सोर्स क्वालिफायर को कैसे संशोधित करें
निम्नलिखित उदाहरण में हम अपने मानचित्र के स्रोत क्वालिफायर को संशोधित करेंगे।ping “m_emp_emp_target” का उपयोग किया जाता है, ताकि सभी कॉलम लौटाने के बजाय यह केवल चयनित कॉलम लौटाए।
चरण 1) नक्शा खोलेंping मानचित्र में “m_emp_emp_target”ping डिजाइनर। नक्शाping कैनवास पर EMP स्रोत, SQ_EMP स्रोत क्वालिफायर और EMP_TARGET लक्ष्य के साथ खुलता है।
चरण 2) Doubleसोर्स क्वालिफायर ट्रांसफॉर्मेशन “SQ_EMP” पर क्लिक करें। इससे उस ऑब्जेक्ट के लिए एडिट ट्रांसफॉर्मेशन विंडो खुल जाएगी। फिर
- प्रॉपर्टीज़ टैब पर क्लिक करें
- दबाएं एसक्यूएल क्वेरी संशोधित विकल्प, यह एक SQL संपादक विंडो खोलेगा
प्रॉपर्टीज़ टैब में नीचे दिखाई गई SQL क्वेरी पंक्ति सूचीबद्ध है।
चरण 3) SQL संपादक विंडो में
- निम्नलिखित क्वेरी दर्ज करें
SELECT EMPNO, ENAME, JOB, MGR FROM EMP
नोट हम स्रोत से EMPNO, ENAME, JOB और MGR कॉलम चुन रहे हैं, इसलिए हमने चयन क्वेरी में केवल इन्हीं कॉलम को रखा है।
- ओके बटन चुनें
अब SQL एडिटर में जनरेट की गई क्वेरी के बजाय कस्टम क्वेरी मौजूद है।
चरण 4) एडिट ट्रांसफॉर्मेशन विंडो में,
- मेनू से पोर्ट्स टैब चुनें
- पोर्ट्स टैब के अंतर्गत आपको सभी पोर्ट दिखाई देंगे। केवल EMPNO, ENAME, JOB, MGR पोर्ट्स को रखें और अन्य पोर्ट्स को हटा दें।
पोर्ट्स टैब में डिलीट करने से पहले ट्रांसफॉर्मेशन द्वारा उपयोग किए गए सभी पोर्ट्स की सूची दी गई है।
चरण 5) पोर्ट्स को डिलीट करने के बाद, ओके बटन चुनें। अब सूची में केवल चार पोर्ट्स ही बचे रहेंगे।
अब एडिट ट्रांसफॉर्मेशन विंडो में प्रॉपर्टीज़ टैब पर फिर से क्लिक करें, और आपको केवल वही डेटा दिखाई देगा जिसे आपने चुना है।
जब आप "ओके" बटन पर क्लिक करेंगे तो एसक्यूएल एडिटर विंडो खुल जाएगी।
- यह पुष्टि करेगा कि आपके द्वारा चयनित डेटा सही है और लक्ष्य तालिका में लोड करने के लिए तैयार है।
- आगे बढ़ने के लिए ओके बटन पर क्लिक करें।
पुष्टिकरण विंडो में वे चार कॉलम दोहराए जाते हैं जिन्हें अब पढ़ा जाएगा।
मानचित्र सहेजेंping (Ctrl+S शॉर्टकट का उपयोग करके) निष्पादित करें वर्कफ़्लोनिष्पादन के बाद, केवल चयनित कॉलम ही लक्ष्य में लोड किए जाएंगे।
इस तरह, आप सोर्स क्वालिफायर में यह तय कर सकते हैं कि सोर्स से कौन से कॉलम लाने हैं, और यही एकमात्र तरीका है जिससे आप नियंत्रित कर सकते हैं कि मैप में कौन से विशिष्ट कॉलम लाए जाएंगे।ping.
सोर्स क्वालीफायर के गुण
आप सोर्स क्वालिफायर के विभिन्न गुणों का उपयोग करके यह निर्धारित कर सकते हैं कि किस प्रकार के सोर्स डेटा को रूपांतरित करके टारगेट टेबल में भेजा जाना चाहिए।
- स्रोत फ़िल्टर सोर्स फ़िल्टर प्रॉपर्टी का उपयोग करके आप सोर्स रिकॉर्ड की संख्या कम कर सकते हैं। उदाहरण के लिए, यदि आप केवल विभाग संख्या 10 के कर्मचारियों को फ़ेच करना चाहते हैं, तो आप सोर्स फ़िल्टर प्रॉपर्टी में फ़िल्टर कंडीशन deptno=10 दर्ज करके डेटा को निष्पादित कर सकते हैं। कंडीशन में टेबल का नाम और पोर्ट का नाम शामिल करें, और WHERE कीवर्ड को छोड़ दें – WHERE वाला फ़िल्टर सेशन को विफल कर देगा।
- सॉर्ट किए गए पोर्टों की संख्या – सोर्स क्वालिफायर ट्रांसफॉर्मेशन में आप इनपुट रिकॉर्ड्स को पोर्ट पोजीशन के अनुसार सॉर्ट भी कर सकते हैं। इंटीग्रेशन सर्विस डिफ़ॉल्ट क्वेरी में ORDER BY क्लॉज़ जोड़ती है, जो ट्रांसफॉर्मेशन के शीर्ष से पोर्ट्स की गिनती करती है, इसलिए मैप के अंदर ट्रांसफॉर्मेशन तक पहुँचने पर डेटा पहले से ही सॉर्ट किया हुआ होता है।ping.
डेटा को एक या कई पोर्ट पर सॉर्ट किया जा सकता है, इसलिए आपको सॉर्टिंग में उपयोग होने वाले पोर्ट की संख्या बतानी होगी। यदि आप 1 देते हैं, तो केवल empno डेटा ही सॉर्ट किया जाएगा। यदि आप 2 देते हैं, तो डेटा को empno और ename दोनों पर सॉर्ट किया जाएगा।
- विशिष्ट चुनें इस प्रॉपर्टी का उपयोग करके आप स्रोत से केवल विशिष्ट रिकॉर्ड ही प्राप्त कर सकते हैं। जब आप 'विशिष्ट चुनें' विकल्प का चयन करते हैं, तो इंटीग्रेशन सर्विस एक 'SELECT DISTINCT' स्टेटमेंट जोड़ देती है, जिससे स्रोत क्वालिफायर द्वारा स्रोत डेटा के केवल विशिष्ट संयोजन ही प्राप्त किए जाते हैं।
नीचे दिखाए गए प्रॉपर्टीज़ टैब में ये विकल्प बाकी प्रॉपर्टी सूची के साथ मौजूद हैं।
रिलेशनल सोर्स क्वालिफायर पर उपलब्ध सभी प्रॉपर्टी की पूरी सूची नीचे दी गई तालिका में संक्षेप में दी गई है।
| संपत्ति | यह क्या करता है |
|---|---|
| एसक्यूएल क्वेरी | यह इंटीग्रेशन सर्विस द्वारा जनरेट की गई डिफ़ॉल्ट क्वेरी को बदल देता है। एक कस्टम क्वेरी उपयोगकर्ता-परिभाषित जॉइन और सोर्स फ़िल्टर को ओवरराइड कर देती है। |
| उपयोगकर्ता-परिभाषित जॉइन | यह उस स्थिति को प्रदान करता है जिसका उपयोग एक ही स्रोत क्वालिफायर द्वारा दर्शाए गए कई स्रोतों से डेटा को जोड़ने के लिए किया जाता है। |
| स्रोत फ़िल्टर | यह वह फ़िल्टर शर्त प्रदान करता है जिसे इंटीग्रेशन सर्विस पंक्तियों की क्वेरी करते समय लागू करती है। |
| सॉर्ट किए गए पोर्टों की संख्या | रिलेशनल स्रोतों से पढ़ी गई पंक्तियों को सॉर्ट करने के लिए उपयोग किए गए कॉलमों की संख्या, जिसे क्वेरी में ORDER BY के रूप में जोड़ा गया है। |
| Tracइंग स्तर | इस रूपांतरण के लिए सत्र लॉग में लिखी गई जानकारी की मात्रा। |
| विशिष्ट चुनें | क्वेरी में SELECT DISTINCT जोड़ने से केवल अद्वितीय पंक्तियाँ ही वापस मिलती हैं। |
| पूर्व एसक्यूएल | इंटीग्रेशन सर्विस द्वारा सोर्स डेटाबेस को पढ़ने से पहले सोर्स डेटाबेस के विरुद्ध कमांड चलाई जाती हैं। |
| बाद एसक्यूएल | इंटीग्रेशन सर्विस द्वारा टारगेट डेटाबेस में डेटा लिखने के बाद सोर्स डेटाबेस के विरुद्ध कमांड चलाई जाती हैं। |
| आउटपुट नियतात्मक है | यह घोषणा करता है कि जब इनपुट सुसंगत होता है तो स्रोत रन के बीच समान डेटा लौटाता है। |
| आउटपुट दोहराने योग्य है | यह घोषित करता है कि स्रोत रन के बीच पंक्तियों को उसी क्रम में लौटाता है, जिससे इंटीग्रेशन सर्विस रिकवरी के लिए स्टेजिंग को छोड़ सकती है। |
स्रोत योग्यताकर्ता SQL ओवरराइड के लिए नियम और दिशानिर्देश
एक SQL ओवरराइड शक्तिशाली होता है क्योंकि यह डिज़ाइनर द्वारा उत्पन्न की गई हर चीज़ को बदल देता है, और यही कारण है कि जब नीचे दिए गए नियमों को अनदेखा किया जाता है तो यह चुपचाप टूट जाता है।
- पहले पोर्ट्स को कनेक्ट करें। क्वेरी दर्ज करने से पहले, आप जिन इनपुट और आउटपुट पोर्ट का उपयोग करना चाहते हैं, उन सभी को लिंक करें, क्योंकि उत्पन्न क्वेरी कनेक्टेड पोर्ट से ही बनती है।
- SELECT सूची को पोर्ट क्रम में रखें। SELECT स्टेटमेंट में पोर्ट के नाम उसी क्रम में सूचीबद्ध होने चाहिए जिस क्रम में वे ट्रांसफॉर्मेशन में दिखाई देते हैं। यदि क्रम मेल नहीं खाता है, तो सेशन विफल हो सकता है या अप्रत्याशित परिणाम दे सकता है।
- प्रत्येक कॉलम की योग्यता की जांच करें। प्रत्येक कॉलम नाम से पहले उस टेबल, व्यू या सिनोनिम का नाम होना चाहिए जिससे वह संबंधित है, उदाहरण के लिए ORDERS.ORDER_ID।
- संपादन करने से पहले इसे जनरेट करें। Generate SQL पर क्लिक करने से डिफ़ॉल्ट क्वेरी दिखाई देती है, जिसमें पहले से ही सोर्स फ़िल्टर और सॉर्टेड-पोर्ट्स क्लॉज़ शामिल होते हैं, इसलिए ओवरराइड को एक कार्यशील स्टेटमेंट से बनाया जा सकता है।
- इस कथन की पुष्टि करें। एसक्यूएल एडिटर में एक वैलिडेट बटन होता है जो सेशन शुरू होने से पहले ही क्वेरी को चलाता है और बताता है कि सिंटैक्स सही है या नहीं।
- आरक्षित शब्दों का उद्धरण दें। क्वेरी में उपयोग किए जाने वाले किसी भी डेटाबेस आरक्षित शब्द को उद्धरण चिह्नों में बंद करना होगा।
- वरीयता क्रम पर ध्यान दें। एक कस्टम क्वेरी स्रोत फ़िल्टर और सॉर्ट किए गए पोर्ट की संख्या को ओवरराइड करती है, और दर्ज की गई SQL क्वेरी को भी ओवरराइड करती है। सत्र यह प्रॉपर्टी मैप में परिभाषित फ़िल्टर कंडीशन और क्वेरी दोनों को ओवरराइड करती है।ping.
के लिए Microsoft SQL Server सूत्रों के अनुसार, एक अतिरिक्त नियम है: SELECT स्टेटमेंट में कॉलम की संख्या ट्रांसफॉर्मेशन में पोर्ट की संख्या से मेल खानी चाहिए, अन्यथा पंक्तियों को फ़ेच करते समय सेशन विफल हो जाएगा।
एक स्रोत क्वालिफायर के साथ दो स्रोतों को कैसे जोड़ें
एक सिंगल सोर्स क्वालिफायर एक से अधिक टेबल पढ़ सकता है। जब एक ही रिलेशनल सोर्स से संबंधित दो टेबल एक ही सोर्स क्वालिफायर से लिंक होती हैं, तो इंटीग्रेशन सर्विस उन्हें मैप के बजाय सोर्स क्वेरी के अंदर जोड़ती है।pingइसका मतलब है कि डेटाबेस काम करता है और सेशन तक कम पंक्तियाँ जाती हैं।
डिफ़ॉल्ट जॉइन एक आंतरिक इक्विजॉइन है जिसे WHERE क्लॉज़ में Source1.column_name = Source2.column_name के रूप में लिखा जाता है। इस जॉइन को जनरेट करने के लिए, जॉइन किए गए कॉलम में प्राइमरी की-फॉरेन की रिलेशनशिप और मैचिंग डेटा टाइप होने चाहिए। यदि इम्पोर्ट किए गए मेटाडेटा में ऐसा कोई रिलेशनशिप नहीं है, तो आप इसे बना सकते हैं। स्रोत विश्लेषक दो स्रोत परिभाषाओं के मेल खाने वाले स्तंभों को जोड़कर।
जब संबंध मौजूद न हो या जॉइन आउटर जॉइन होना आवश्यक हो, तो इसके बजाय यूज़र-डिफाइंड जॉइन प्रॉपर्टी का उपयोग करें। वहां दर्ज की गई शर्त मेटाडेटा में मौजूद जॉइन जानकारी को प्रतिस्थापित कर देती है, और इंटीग्रेशन सर्विस इसे जेनरेटेड क्वेरी में जोड़ देती है।
दो सीमाएँ याद रखने योग्य हैं। दोनों तालिकाएँ एक ही संबंधपरक स्रोत से आनी चाहिए, और विभिन्न प्रकार के स्रोत – एक फ्लैट फ़ाइल और एक तालिका, या दो अलग-अलग डेटाबेस – को एक साथ जोड़ा जाना चाहिए। जॉइनर परिवर्तन बजाय.
स्रोत क्वालिफायर बनाम फ़िल्टर बनाम जॉइनर ट्रांसफॉर्मेशन
ये तीनों ऑब्जेक्ट पंक्तियों को कम या संयोजित कर सकते हैं, और गलत ऑब्जेक्ट का चयन धीमे सत्रों का एक सामान्य कारण है। नीचे दी गई तालिका में इन्हें साथ-साथ दिखाया गया है।
| पहलू | स्रोत क्वालीफायर | फ़िल्टर रूपांतरण | जॉइनर परिवर्तन |
|---|---|---|---|
| जहां काम चलता है | स्रोत डेटाबेस में, जनरेट की गई क्वेरी के अंदर | एकीकरण सेवा में, पंक्ति दर पंक्ति | एकीकरण सेवा में, कैश का उपयोग करना |
| मुख्य उद्देश्य | स्रोत पंक्तियों को पढ़ें, क्वेरी को ओवरराइड करें, फ़िल्टर करें, सॉर्ट करें, डुप्लिकेट हटाएं | उन पंक्तियों को हटा दें जो किसी एक शर्त को पूरा नहीं करती हैं। | दो पाइपलाइनों को एक पंक्ति सेट में संयोजित करें |
| स्रोत प्रकार | एक स्रोत की संबंधपरक तालिकाएँ और समतल फ़ाइलें | किसी भी पाइपलाइन डेटा | विभिन्न स्रोतों से प्राप्त सामग्री, जिनमें फ्लैट फाइलें और विभिन्न डेटाबेस शामिल हैं। |
| समर्थन में शामिल हों | एक ही संबंध स्रोत के भीतर आंतरिक समजॉइन या उपयोगकर्ता-परिभाषित जॉइन | कोई नहीं | सामान्य, मास्टर बाहरी, विस्तृत बाहरी और पूर्ण बाहरी जोड़ |
| नेटवर्क को पार करने वाली पंक्तियाँ | केवल क्वेरी द्वारा लौटाई गई पंक्तियाँ | प्रत्येक स्रोत पंक्ति को पहले पढ़ा जाता है | प्रत्येक स्रोत पंक्ति को पहले पढ़ा जाता है |
व्यवहारिक नियम सरल है: स्रोत से जितनी जल्दी संभव हो फ़िल्टर करें और जोड़ें, और एक फ़िल्टर या फिर जॉइनर का उपयोग केवल उस काम के लिए करें जो सोर्स डेटाबेस नहीं कर सकता। सोर्स क्वालिफायर में शर्तें डालना, प्रक्रिया के दौरान उपलब्ध सबसे सस्ते लाभों में से एक है। प्रदर्शन सुधारना.








