ETL क्या है?
Scrapeless Scraping Browser ETL कार्यप्रवाह के निकासी चरण को रेंडर्ड सार्वजनिक वेब डेटा प्रदान कर सकता है।
TL;DR
- ETL का अर्थ है निकासी, रूपांतरण और लोड। डेटा स्रोतों से एकत्र किया जाता है, परिभाषित नियमों के तहत पुनः आकार दिया जाता है, और एक गंतव्य में लिखा जाता है।
- मुख्य लोड से पहले रूपांतरण होता है। जब गंतव्य को चयनित डेटा प्राप्त करना चाहिए जो पहले से ही एक नियंत्रित स्कीमा से मेल खाता है, तो ETL उपयोगी होता है।
- ETL एक पाइपलाइन पैटर्न है, पूरी प्लेटफ़ॉर्म नहीं। समयबद्धता, वंश, गुणवत्ता निगरानी, अनुमतियाँ, और सेवा अलग-अलग डिज़ाइन चिंताएँ बनी रहती हैं।
- इंक्रीमेंटल ETL को स्थिर परिवर्तन सेमांटिक्स की आवश्यकता होती है। कुंजी, टाइमस्टैम्प, हटाने की हैंडलिंग, और चेकपॉइंट यह निर्धारित करते हैं कि अपडेट पूरा और पुनरावृत्त करने योग्य हैं या नहीं।
- वेब इनपुट को उत्पत्ति और तट परिवर्तनों की नियंत्रण की आवश्यकता होती है। कार्य प्रवाह को अधिग्रहण परिवर्तनों को अंतर्निहित तथ्यों में वास्तविक परिवर्तनों से अलग करना चाहिए।
ETL एक डेटा इंटीग्रेशन प्रक्रिया है जो स्रोत प्रणालियों से डेटा निकालती है, इसे एक सहमत रूप में रूपांतरित करती है, और परिणाम को एक लक्षित प्रणाली में लोड करती है। गंतव्य अक्सर एक विश्लेषणात्मक गोदाम होता है, लेकिन ETL एक संबंधपरक डेटाबेस, खोज संकेतक, रिपोर्टिंग स्टोर, मॉडल फीचर सेट, या संचालन अनुप्रयोग को भी भर सकता है।
AWS का ETL अवलोकन प्रक्रिया को स्रोत डेटा को संयोजित करने और विश्लेषण से पहले व्यावसायिक नियमों को लागू करने के चारों ओर परिभाशित करता है। क्रम परिभाषित विशेषता है: मुख्य गंतव्य रूपांतरित आउटपुट प्राप्त करता है न कि कच्चे डेटा के लिए पहले लैंडिंग प्वाइंट के रूप में कार्य करता है।
निकालें: संदर्भ के साथ स्रोत डेटा कैप्चर करें
निकासी डेटा को डेटाबेस, फ़ाइलों, APIs, इवेंट सिस्टम, अनुप्रयोगों, दस्तावेज़ों, या वेब पृष्ठों से पढ़ती है। एक विश्वसनीय निकासी केवल मानों को कॉपी नहीं करती है। यह स्रोत पहचान, कैप्चर समय, चयन नियम, अनुमतियाँ, और नए या बदलते डेटा का पता लगाने के लिए उपयोग की जाने वाली सीमा को रिकॉर्ड करती है। ये विवरण निर्धारित करते हैं कि एक बाद की रन यह समझा सकती है कि एक रिकॉर्ड क्यों है।
पूर्ण निकासी चयनित डेटासेट को पूरा पढ़ती है। इंक्रीमेंटल निकासी एक चेकपॉइंट के बाद परिवर्तनों को पढ़ती है, जिसमें टाइमस्टैम्प, अनुक्रम संख्या, परिवर्तन लॉग, संस्करण फ़ील्ड, या स्रोत-विशिष्ट कर्सर का उपयोग किया जाता है। इंक्रीमेंटल कार्य लोड और विलंबता को कम करता है, लेकिन इसे अंतिम अपडेट, हटाने, घड़ी के अंतर और चेकपॉइंट उन्नति के लिए स्पष्ट नियमों की आवश्यकता होती है। एक कर्सर केवल तब आगे बढ़ाना चाहिए जब संबंधित आउटपुट सुरक्षित रूप से प्रतिबद्ध हो।
सार्वजनिक वेब स्रोतों के लिए, निकाली गई कलाकृति प्रारंभिक HTML, एक रेंडर्ड DOM, एक नेटवर्क प्रतिक्रिया, या पृष्ठ से पार्स की गई संरचित वस्तु हो सकती है। ETL कार्य को यह बनाए रखना चाहिए कि उसने कौन सा प्रतिनिधित्व कैप्चर किया। अन्यथा, क्लाइंट रेंडरिंग में एक बदलाव व्यापार-डेटा परिवर्तन की तरह दिख सकता है, भले ही स्रोत रिकॉर्ड वही बना रहे।
रूपांतरित करें: डेटा अनुबंध लागू करें
रूपांतरण स्रोत-विशिष्ट डेटा को गंतव्य द्वारा अपेक्षित स्कीमा और अर्थ में परिवर्तित करता है। सामान्य संचालन में प्रकार कास्टिंग, इकाई रूपांतरण, फ़ील्ड नामकरण, सामान्यीकरण, डिडुप्लिकेशन, मान्यता, मास्किंग, फ़िल्टरिंग, जॉइनिंग, समेकन और समृद्धिकरण शामिल हैं। प्रत्येक नियम निश्चित, संस्करणित, और प्रतिनिधिक इनपुट के खिलाफ परीक्षण करने योग्य होना चाहिए।
रूपांतरण वह जगह है जहां अर्थशास्त्र की गलतियाँ महंगी हो जाती हैं। एक पाठ मान को संख्या में बदलना आसान है; यह तय करना कि कर शामिल है, क्या टाइमस्टैम्प इवेंट टाइम या अद्यतन समय का प्रतिनिधित्व करता है, या क्या दो पहचानकर्ता एक ही इकाई को संदर्भित करते हैं, इसके लिए डोमेन ज्ञान की आवश्यकता होती है। रूपांतरण विनिर्देशन को उन निर्णयों का नाम देना चाहिए बजाय कि उन्हें कोड में छिपाना।
अस्वीकृत डेटा को एक नियंत्रित पथ की आवश्यकता होती है। रिकॉर्ड जो आवश्यक फ़ील्ड या प्रतिबंधों का उल्लंघन करते हैं, उन्हें एक कारण और स्रोत संदर्भ के साथ संगरक्त किया जाना चाहिए। उन्हें चुपचाप छोड़ने से बिना किसी व्याख्या वाले गैप के साथ स्वच्छ दिखने वाली तालिकाएँ उत्पन्न होती हैं। प्रत्येक मान को मजबूर करने से संपूर्ण दिखने वाली तालिकाएँ उत्पन्न होती हैं जिनका अर्थ अनिश्चित होता है।
लोड करें: डेटा को सुरक्षित रूप से प्रकाशित करें
लोडिंग रूपांतरित डेटा को लक्षित में लिखता है। अपेंड लोड नए पंक्तियाँ जोड़ते हैं। अपसर्ट लोड नए रिकॉर्ड डालते हैं और स्थिर कुंजी के आधार पर मौजूदा को अपडेट करते हैं। प्रतिस्थापन लोड एक पूर्ण स्नैपशॉट प्रकाशित करते हैं। धीरे-धीरे बदलते आयाम पैटर्न चयनित इतिहास को संरक्षित करते हैं। सही विधि इस पर निर्भर करती है कि उपभोक्ता अपडेटों को कैसे व्याख्या करते हैं और क्या ऐतिहासिक स्थितियाँ महत्वपूर्ण हैं।
एक लोड को अप्रतिबंधित परिणामों को उजागर करने से बचना चाहिए। स्टेजिंग तालिकाएँ, लेनदेन स्वैप, संस्करणित विभाजन, या परमाणु मैनिफेस्ट उपभोक्ताओं को पिछले पूर्ण डेटासेट पर बनाए रख सकते हैं जब तक नया जांच पास नहीं करता। कार्य को इनपुट, रूपांतरित, अस्वीकृत और लोड किए गए काउंट को सुलझाना चाहिए और प्रकाशन से पहले कुंजी की अनन्यता और आवश्यक विभाजनों की पुष्टि करनी चाहिए।
Microsoft का ETL मार्गदर्शन पाइपलाइन चरण और गंतव्य विचारों के बीच भेद करता है। हस्तांतरणीय पाठ यह है कि लोडिंग एक प्रकाशन सीमा है: डेटा उपभोक्ताओं, भंडारण नियमों, पहुँच नियंत्रण और सेवा अपेक्षाओं के साथ एक उत्पाद बन जाता है।
ETL प्रवाह एक नज़र में
| चरण | प्राथमिक प्रश्न | विशिष्ट नियंत्रण |
|---|---|---|
| निकालें | क्या काम ने इरादित स्रोत स्थिति को कैप्चर किया? | कर्सर, स्नैपशॉट पहचान, स्रोत काउंट, उत्पत्ति। |
| रूपांतरित करें | क्या प्रत्येक आउटपुट सहमत स्कीमा और अर्थ से मेल खाता है? | नियम संस्करण, परीक्षण, संगरक्षण कारण, सुलह। |
| लोड करें | क्या उपभोक्ता एक पूरी और वैध प्रकाशन देख सकते हैं? | स्टेजिंग, परमाणु प्रकाशन, कुंजी, विभाजन, पहुँच नीति। |
| अभ्यास करें | क्या मालिक एक खराब या देर से परिणाम का पता लगा सकते हैं और उसका स्पष्टीकरण दे सकते हैं? | वंश, ताजगी, चेतावनियाँ, रन लॉग, स्वामित्व। |
ETL बनाम जनरल डेटा पाइपलाइन
ETL एक प्रसंस्करण क्रम को निर्दिष्ट करता है। एक सामान्य डेटा पाइपलाइन व्यापक प्रवाह को कवर करती है: काम कैसे शुरू होता है, डेटा कैसे चलता है, मध्यवर्ती स्थितियाँ कहाँ रहती हैं, गुणवत्ता क्या होती है, निर्भरताएँ कैसे समन्वित होती हैं, और डाउनस्ट्रीम उपभोक्ताओं को कैसे सेवा दी जाती है। प्रत्येक उत्पादन ETL कार्य एक पाइपलाइन का हिस्सा है, लेकिन हर पाइपलाइन लोडिंग से पहले रूपांतरण नहीं करती है।
यह भिन्नता टीमों को "ईटीएल उपकरण" खरीदने या बनाने से बचाने में मदद करती है और मानती है कि स्वामित्व, सुरक्षा, वंश, लागत नियंत्रण और अर्थव्यवस्था अब स्वचालित रूप से मौजूद हैं। प्रौद्योगिकी चरणों को निष्पादित कर सकती है; संगठन को अभी भी डेटा उत्पाद और इसके संचालन समझौते को परिभाषित करना होगा।
बैच, माइक्रो-बैच, और स्ट्रीमिंग ईटीएल
पारंपरिक ईटीएल अक्सर बैच-उन्मुख होता है: एक सीमित सेट को निकाला जाता है, परिवर्तित किया जाता है, और एक शेड्यूल पर प्रकाशित किया जाता है। माइक्रो-बैच अंतराल को कम करता है जबकि रन सीमाओं को बनाए रखता है। स्ट्रीमिंग ईटीएल निरंतर घटनाओं पर परिवर्तन लागू करता है और घटना के समय, राज्य, डुप्लिकेट और देर से आगमन का ध्यान रखना चाहिए। लेबल सेवा लक्ष्य और शुद्धता मॉडल की तुलना में कम महत्वपूर्ण होता है।
गूगल क्लाउड का ईटीएल व्याख्या बैच और स्ट्रीमिंग ईटीएल को एक ही व्यापक श्रेणी में चर्चा करता है। एक डिज़ाइन को उन उपभोक्ता आवश्यकताओं को पूरा करने के लिए सबसे सरल समय मॉडल चुनना चाहिए। निरंतर प्रसंस्करण परिचालन कार्य जोड़ता है और पुनरावर्तन को जटिल कर सकता है, इसलिए इसे सही विलंब आवश्यकता का पालन करना चाहिए।
ईटीएल गुणवत्ता और अवलोकनशीलता
गुणवत्ता जांचों में स्कीमा, पूर्णता, वैधता, अद्वितीयता, स्थिरता, ताजगी, और वितरण शामिल होना चाहिए। एक पंक्ति की गणना एक गायब विभाजन को उजागर कर सकती है लेकिन यह साबित नहीं कर सकती कि पहचानकर्ता अद्वितीय हैं या राशियां सही मुद्रा का उपयोग करती हैं। परीक्षणों को उपभोक्ता अनुबंध से जोड़ा जाना चाहिए और यह पहचान करना चाहिए कि कौन से रिकॉर्ड असफल हुए।
अवलोकन एक लक्षण को एक रन, कोड संस्करण, स्रोत स्नैपशॉट, परिवर्तन नियम, और गंतव्य प्रकाशन से जोड़ता है। उपयोगी संकेतों में निष्कासन अंतराल, बदले गए फ़ील्ड दरें, अस्वीकृति कारण, स्रोत-से-गंतव्य सामंजस्य, लोड अवधि, गंतव्य ताजगी, और डाउनस्ट्रीम घटनाएं शामिल हैं। अलर्ट को एक स्वामी और कार्रवाई की ओर इंगित करना चाहिए न कि हर निम्न-स्तरीय लॉग इवेंट को दोहराना चाहिए।
सामान्य ईटीएल विफलता मोड
- अस्थिर वृद्धिात्मक कुंजी। एक टाइमस्टैम्प या कर्सर अपडेट को चूकता है, बहुत जल्दी आगे बढ़ता है, या हटाने का प्रतिनिधित्व नहीं कर सकता।
- मौन स्कीमा बलात्कारी। अप्रत्याशित मानों को अवलोकनीय अनुबंध उल्लंघन के बिना शून्य या टेक्स्ट में परिवर्तित कर दिया जाता है।
- डुप्लिकेट लोड। एक पुनरावृत्त इनपुट अतिरिक्त व्यावसायिक पंक्तियों का निर्माण करता है क्योंकि गंतव्य में स्थिर कुंजी और इडेम्पोटेंट लेखन का अभाव होता है।
- आंशिक प्रकाशन। उपभोक्ता एक तालिका को क्वेरी करते हैं जबकि केवल कुछ विभाजन या संस्थाओं को बदला गया है।
- छिपी हुई व्यावसायिक लॉजिक। महत्वपूर्ण अर्थ अव्यक्त अभिव्यक्तियों में रहती है जो डोमेन मालिकों द्वारा समीक्षा नहीं की जा सकती।
- कोई कच्चा सबूत नहीं। एक सही परिवर्तन को फिर से नहीं चलाया जा सकता क्योंकि मूल स्रोत कलाकृति और कैप्चर संदर्भ को त्याग दिया गया था।
सार्वजनिक वेब डेटा के लिए ईटीएल
वेब-आधारित ईटीएल एक कानूनी, अनुशासित अधिग्रहण योजना के साथ शुरू होता है। निकासी चरण केवल उन सार्वजनिक क्षेत्रों को कैप्चर करता है जो निर्दिष्ट उद्देश्य के लिए आवश्यक हैं और यूआरएल, समय, लोकेल, और प्रतिनिधित्व रिकॉर्ड करता है। परिवर्तन चरण रिकॉर्ड को पार्स करता है, यूनिट को सामान्यीकृत करता है, पहचानकर्ताओं को मान्य करता है, और अनुपस्थित मानों को निष्कर्षण विफलताओं से अलग करता है। लोड चरण एक स्थिर स्कीमा को उत्पत्ति के साथ प्रकाशित करता है।
पृष्ठ टेम्पलेट तथ्य प्रदर्शित करने से स्वतंत्र रूप से बदलते हैं। अधिग्रहण और पार्सिंग संस्करणों को अलग रखें, कच्चे पृष्ठ के नमूनों को संरक्षित करें, और उन संरचनात्मक संकेतों की निगरानी करें जैसे गायब रिकॉर्ड कंटेनर या फ़ील्ड कवरेज में अचानक परिवर्तन। ये नियंत्रण एक विश्वसनीय डेटा सेट को खाली आउटपुट के साथ ओवरराइट करने से पहले एक टूटे हुए निकालने वाले की पहचान करते हैं।
स्क्रेपलेस स्क्रेपिंग ब्राउज़र जब जावास्क्रिप्ट की आवश्यकता होती है तो निकासी चरण को प्रस्तुत पृष्ठ स्थिति प्रदान कर सकता है। ईटीएल के मालिक को चयनकर्ताओं, परिवर्तनों, डेटा न्यूनतमकरण, मान्यता, और अनुमेय डाउनस्ट्रीम उपयोग के लिए जिम्मेदार रहना चाहिए। शामिल करें स्क्रेपलेस मूल्य निर्धारण प्रत्येक योजनाबद्ध रिफ्रेश के लिए लागत मॉडल में।
ईटीएल डिज़ाइन चेकलिस्ट
- उपभोक्ता, निर्णय, आउटपुट स्कीमा, ताजगी लक्ष्य, और स्वामी को परिभाषित करें।
- स्रोत अनुमति, चयन, परिवर्तन सेमांटिक्स, पहचानकर्ता, और अपेक्षित मात्रा को दस्तावेज करें।
- पूर्ण या वृद्धिात्मक निकासी चुनें और अद्यतनों, विलोपनों, और देर से रिकॉर्ड का परीक्षण करें।
- संस्करण परिवर्तन नियम और अमान्य रिकॉर्ड के लिए संगरोध कारण प्रदान करें।
- सम्मिलित करें, अपर्सर्ट, स्नैपशॉट, या इतिहास-रखने वाली लोड व्यवहार को जानबूझकर चुनें।
- परमाणु रूप से प्रकाशित करें और स्रोत, परिवर्तित, अस्वीकृत, और लोड किए गए राज्यों का सामंजस्य करें।
- वंश और कच्चे सबूत को लंबे समय तक बनाए रखें ताकि ऑडिट और फिर से प्रसंस्करण किया जा सके।
- स्कीमा ड्रिफ्ट, डुप्लिकेट इनपुट, आंशिक स्रोतों, और गंतव्य प्रतिबंधों का परीक्षण करें।
निष्कर्ष
ईटीएल अन्वेषण-परिवर्तन-लोड क्रम है स्रोत डेटा को एक क्यूरेटेड गंतव्य उत्पाद में बदलने के लिए। मजबूत ईटीएल ट्रेस योग्य अधिग्रहण से शुरू होता है, संस्करणित अर्थ नियम लागू करता है, पूर्ण आउटपुट प्रकाशित करता है, और हर परिणाम को समझाने के लिए पर्याप्त सबूत रिकॉर्ड करता है। वेब इनपुट के लिए, प्रदर्शित स्थिति और टेम्पलेट ड्रिफ्ट प्राथमिक स्रोत चिंताओं बन जाते हैं बजाय इसके कि एक पार्सर के अंदर छिपी समस्याओं के।
एक वेब ईटीएल प्रवाह बनाने के लिए तैयार?
स्क्रेपलेस स्क्रेपिंग ब्राउज़र के साथ गतिशील सार्वजनिक पृष्ठ अधिग्रहण करें, फिर उन्हें अपने स्वयं के डेटा अनुबंध के तहत परिवर्तित और लोड करें।
नि:शुल्क शुरू करें →अक्सर पूछा जाने वाला प्रश्न
ईटीएल का क्या अर्थ है?
ईटीएल का अर्थ है अन्वेषण, परिवर्तन, और लोड। प्रक्रिया स्रोत डेटा को पढ़ती है, इसे एक सहमत स्कीमा और अर्थ में परिवर्तित करती है, और क्यूरेटेड परिणाम को लक्षित प्रणाली में लिखती है।
ETL का एक उदाहरण क्या है?
एक खुदरा विक्रेता सार्वजनिक उत्पाद पृष्ठों को निकाल सकता है, पहचानकर्ताओं, कीमतों, मुद्राओं और उपलब्धता को सामान्य कर सकता है, आवश्यक क्षेत्रों का मान्यकरण कर सकता है, फिर क्यूरेटेड रिकॉर्ड्स को एक विश्लेषणात्मक वेयरहाउस में लोड कर सकता है। कार्यप्रवाह को स्रोत URLs को संरक्षित करना चाहिए और संदर्भ को कैप्चर करना चाहिए।
क्या ETL केवल डेटा वेयरहाउस के लिए है?
नहीं। वेयरहाउस सामान्य ETL गंतव्य हैं, लेकिन क्यूरेटेड डेटा को डेटाबेस, खोज सूचियों, विशेषता भंडार, रिपोर्टिंग सिस्टम या परिचालन अनुप्रयोगों में भी लोड किया जा सकता है।
ETL और ELT में क्या अंतर है?
ETL मुख्य गंतव्य लोड से पहले डेटा को परिवर्तित करता है, जबकि ELT स्रोत डेटा को गंतव्य प्लेटफार्म में लोड करता है और वहां इसे परिवर्तित करता है। यह निर्णय कच्चे डेटा का स्थान, जहां संगणना चलती है, और शासन को लागू करने के तरीके को बदलता है।
क्या ETL स्ट्रीमिंग डेटा को संसाधित कर सकता है?
हाँ। स्ट्रीमिंग ETL एक निरंतर घटना प्रवाह पर परिवर्तन लागू करता है, लेकिन इसे घटना समय, राज्य, डुप्लीकेट, और देर से आगमन के लिए स्पष्ट हैंडलिंग की आवश्यकता होती है। जब विलंबता लक्ष्य इसे अनुमति देता है, तब बैच या माइक्रो-बैच अधिक सरल रहता है।
ETL में क्या मॉनिटर किया जाना चाहिए?
स्रोत ताजगी, निष्कर्षण कवरेज, स्कीमा परिवर्तन, अस्वीकृति कारण, डुप्लीकेट दरें, सामंजस्य माप, लोड पूर्णता, गंतव्य ताजगी, लागत, और डाउनस्ट्रीम घटनाओं की निगरानी करें। प्रत्येक सिग्नल का एक स्पष्ट मालिक होना चाहिए।