परिचय
डेटा हर जगह है। हाल के वर्षों में, कनेक्टेड डिवाइसों की बढ़ती संख्या और उनके उपयोग के विस्तार के साथ, दुनिया इतना विशाल डेटा उत्पन्न कर रही है जिसे अब पारंपरिक तरीकों से संभाला नहीं जा सकता।
Statista के अनुसार, 2021 तक 23.8 बिलियन डिवाइस इंटरनेट से जुड़े हैं और उनमें से 58% IoT डिवाइस हैं (स्मार्ट होम डिवाइस, कनेक्टेड सेल्फ-ड्राइविंग कारें, औद्योगिक उपकरण आदि) और शेष 42% नॉन‑IoT डिवाइस हैं (लैपटॉप, स्मार्टफोन आदि)। इसका अर्थ है कि आजकल डेटा अनेक स्रोतों से आ सकता है। इनमें से कुछ हैं:
- उपयोगकर्ता गतिविधियाँ: कोई भी उपयोगकर्ता क्रिया डेटा उत्पन्न करती है और यहां तक कि जिन मोबाइल ऐप्स का हम उपयोग करते हैं, उनमें हम कहाँ और कितनी बार टैप करते हैं, यह दर्शाने वाला डेटा भी मूल्यवान है। इस तरह की जानकारी वाला हर डेटा अंश सुरक्षित रखा जाना और अनुप्रयोगों के डेटा सेंटर्स तक पहुँचाया जाना चाहिए।
- “इंटरनेट ऑफ थिंग्स” डिवाइस: ये डिवाइस बहुत अधिक मात्रा में जानकारी उत्पन्न करते हैं, जैसे विभिन्न स्थानों पर जनित सेंसर डेटा। इस सारे डेटा को एकत्र कर आगे के विश्लेषण के लिए डेटा पूल में भेजना आवश्यक है।
- प्रोग्राम लॉग्स: आज के कंप्यूटर अनुप्रयोग कई घटकों से बने होते हैं और ये सभी घटक प्रोग्राम लॉग्स बनाते हैं। इन लॉग्स को आगे के विश्लेषण के लिए डेटा इंजीनियरिंग पाइपलाइन को भेजा जाता है।
दुनिया द्वारा उत्पन्न सभी विभिन्न संरचित डेटा को सॉफ्टवेयर संरचना के अन्य घटकों तक पहुँचाया जाना चाहिए, या बिज़नेस विश्लेषकों और डेटा वैज्ञानिकों द्वारा विज़ुअलाइज़ और व्याख्यायित किया जाना चाहिए। हालांकि, यह डिलीवरी सरल कार्य नहीं है। डेटा की डिलीवरी से जुड़ी कुछ अहम आवश्यकताएँ हैं:
- डेटा को मानकीकृत संरचना में भेजा जाना चाहिए
- डेटा में कोई अंतर्विरोध नहीं होना चाहिए
- डेटा का डुप्लीकेशन हटाना पड़ सकता है
- डेटा विश्वसनीय होना चाहिए
- डेटा डिलीवरी न्यूनतम विलंब के साथ होनी चाहिए
इसलिए, इस जानकारी की डिलीवरी एक जटिल प्रक्रिया है और यदि इसे सही ढंग से नहीं किया गया, तो यह विशेष रूप से मध्यम और बड़े पैमाने की कंपनियों के लिए बहुत समस्याग्रस्त हो सकती है। यहीं पर डेटा इंजीनियर काम आते हैं।
इस लेख में आप डेटा इंजीनियरिंग की बुनियादी बातें सीखेंगे, जिनमें शामिल हैं:
- डेटा इंजीनियरिंग क्या है और मज़बूत डेटा पाइपलाइन सुनिश्चित करना क्यों आवश्यक है
- डेटा साइंस और डेटा इंजीनियरिंग में अंतर
- डेटा इंजीनियरिंग की बढ़ती लोकप्रियता के कारण
- एक अच्छे डेटा इंजीनियर के कौशल
- DataCamp आपकी डेटा इंजीनियर बनने में कैसे मदद कर सकता है
डेटा इंजीनियर की ज़िम्मेदारियाँ क्या हैं?
संक्षेप में, डेटा इंजीनियर:
- डेटा वैज्ञानिकों और बिज़नेस इंटेलिजेंस इंजीनियरों (या किसी भी डेटा के साथ काम करने वाले) के लिए डेटा को आसानी से सुलभ और उपलब्ध कराने का लक्ष्य रखते हैं
- कंपनियों की बिग डेटा सिस्टम आर्किटेक्चर का अनुकूलन करते हैं
- डेटाबेस डिज़ाइन और कॉन्फ़िगर करते हैं
- बिज़नेस इंटेलिजेंस इंजीनियरों, डेटा वैज्ञानिकों, और डेटा विश्लेषकों की टीमों के साथ सहयोग करते हैं
- डेटा की खोज और रूपांतरण करते हैं। इन सभी कार्यों को पूरा करने के लिए, डेटा इंजीनियरों को पहले ETL पाइपलाइन सेट अप करनी होती है।
हमारे पूर्ण लेख में आप डेटा इंजीनियर क्या करता है के बारे में और अधिक जान सकते हैं।
ETL पाइपलाइंस
ETL पाइपलाइंस नियमित समयांतराल पर जटिल डेटा प्राप्त करती हैं और उसे एक उपयोगी रूप में संग्रहीत करने के उद्देश्य से प्रोसेस करती हैं। इन पाइपलाइंस की स्थापना और रखरखाव डेटा इंजीनियरों की ज़िम्मेदारी है।
ETL पाइपलाइंस के 3 प्रकार के चरण होते हैं:
- Extract डेटा स्रोतों द्वारा बनाए गए विशाल मात्रा में डेटा विभिन्न फ़ॉर्मैट्स में एकत्र किए जाते हैं।
- Transform चूंकि डेटा अलग-अलग फ़ॉर्मैट्स में आता है और उसके स्रोत असंगत हो सकते हैं, इसलिए डेटा को यथासंभव मानकीकृत बनाने के लिए प्रोसेस किया जाता है। इससे अगले चरणों के लिए डेटा की खोजयोग्यता और उपयोगिता बढ़ती है।
- Load जब डेटा खोजने योग्य और उपयोगी फ़ॉर्मैट में होता है, तो आम तौर पर उसे डेटा वेयरहाउस में संग्रहीत किया जाता है। इससे आगे के विश्लेषण के लिए डेटा हर समय उपलब्ध रहता है।
डेटा वेयरहाउस
डेटा वेयरहाउस वे स्थान हैं जहाँ मानकीकृत डेटा संग्रहीत किया जाता है। इन्हें बड़े पैमाने पर डेटा को फ़िल्टर करने और पढ़ने के लिए अनुकूलित किया जाता है। आधुनिक डेटा वेयरहाउस में संरचित और असंरचित दोनों प्रकार का डेटा संग्रहीत किया जा सकता है, क्योंकि फ़ोटो और वीडियो जैसे श्रेणीबद्ध न हो सकने वाले डेटा को संग्रहीत करना भी महत्वपूर्ण है।
डेटा इंजीनियरिंग बनाम डेटा साइंस
डेटा इंजीनियर और डेटा वैज्ञानिक की भूमिकाओं के बीच अंतर महत्वपूर्ण है। एक ओर, डेटा वैज्ञानिक कंपनियों में अहम भूमिका निभाते हैं क्योंकि वे डेटा‑संचालित निर्णय लेने में योगदान करते हैं। फिर भी, डेटा वैज्ञानिकों की सफलता उतनी ही अच्छी होती है जितना अच्छा डेटा उनके पास उपलब्ध होता है।
दूसरी ओर, डेटा इंजीनियर वे होते हैं जो ऐसे सिस्टम डिज़ाइन करते हैं जो डेटा वैज्ञानिकों को संगठित और सुसंगत रूप में डेटा प्रदान करते हैं। एक बार जब डेटा इंजीनियर उनके लिए जानकारी उपलब्ध करा देते हैं, तो डेटा वैज्ञानिक, डेटा इंजीनियरों द्वारा दिए गए फ़ॉर्मैट का उपयोग करते हुए, डेटा में पैटर्न खोजकर निष्कर्ष तक पहुँचने की कोशिश करते हैं।
डेटा इंजीनियर और डेटा वैज्ञानिक स्पष्ट रूप से निकट सहयोग में काम करते हैं। हम इसे फुटबॉल मैच की तरह सोच सकते हैं। फुटबॉल में, कोच ही वे रणनीतियाँ विकसित करता है जो गोल के अवसर पैदा करेंगी, और वही खिलाड़ियों को विशिष्ट स्थानों पर सेट करता है। इस संदर्भ में कोच डेटा इंजीनियर है, इसलिए हम मान सकते हैं कि बॉल डेटा है और जो खिलाड़ी गोल करता है वह डेटा वैज्ञानिक है। टीम के बाकी सदस्य इन्फ्रास्ट्रक्चर हैं।
डेटा इंजीनियरिंग की लोकप्रियता क्यों बढ़ी है?
Burning Glass Nova प्लेटफ़ॉर्म पर किए गए अनुसंधान के अनुसार, 2019 में "डेटा इंजीनियर" के लिए नौकरी के विज्ञापन 88.3% बढ़े। इस शोध के अनुसार, 2016 से डेटा इंजीनियरों की मांग बढ़ रही है। एक और दिलचस्प जानकारी यह है कि डेटा इंजीनियरों के लिए नौकरी के अवसर, डेटा वैज्ञानिकों के लिए नौकरी के अवसरों से लगभग 5 गुना अधिक हैं। डेटा इंजीनियर का वेतन भी डेटा वैज्ञानिक के वेतन से 20–30% अधिक है।
जैसा कि ऊपर बताया गया है, डेटा वैज्ञानिक डेटा प्रोसेसिंग चेन की अंतिम कड़ी हैं। अपना काम करने के लिए उन्हें डेटा इंजीनियर द्वारा प्रोसेस किया हुआ डेटा चाहिए। जैसे‑जैसे डेटा स्रोतों और डेटा प्रकारों की संख्या बढ़ती है, डेटा इंजीनियर की आवश्यकता भी बढ़ती है। इसी कारण, कंपनियों ने हाल ही में डेटा के निष्कर्षण और वितरण में अधिक निवेश करना शुरू किया है।
चित्र 4.1 में, एक पिरामिड चार्ट डेटा साइंस की आवश्यकताओं की पदानुक्रम दिखाता है। इस पदानुक्रम में, डेटा इंजीनियरों को सौंपे गए कार्य पिरामिड के आधार पर हैं, जो बताता है कि कंपनियों के लिए डेटा इंजीनियर कितने महत्वपूर्ण हैं।
Figure 4.1: डेटा साइंस की आवश्यकताओं का पदानुक्रम।स्रोत: hackernoon
डेटा इंजीनियर के कौशल क्या हैं?
जैसा कि चित्र 5.1 में दिखाया गया है, डेटा इंजीनियरों के कौशल सामान्यतः सॉफ्टवेयर इंजीनियरों और डेटा वैज्ञानिकों के कौशल से जुड़े हुए होते हैं।
Figure 5.1: डेटा भूमिकाएँ और कौशल सेटस्रोत: RyanSwanstrom
क्या डेटा इंजीनियर की भूमिका सॉफ्टवेयर इंजीनियर के ज़्यादा करीब है या डेटा वैज्ञानिक के?
डेटा इंजीनियरों के एक समूह की पूर्व नौकरियाँ चित्र 5.2 में प्रदर्शित हैं। इस चित्र के अनुसार, 40% से अधिक लोगों का बैकग्राउंड सॉफ्टवेयर इंजीनियरिंग में है। इसका मतलब न केवल यह है कि डेटा इंजीनियरिंग और सॉफ्टवेयर इंजीनियरिंग हमारी प्रारंभिक धारणा से कहीं अधिक निकट हैं, बल्कि यह भी कि आजकल सॉफ्टवेयर इंजीनियर अन्य किसी भी क्षेत्र की तुलना में डेटा इंजीनियरिंग में स्विच करने की अधिक संभावना रखते हैं।
Figure 5.2: पूर्व भूमिकाओं के आधार पर डेटा इंजीनियर (शीर्ष 10)।स्रोत: stitchdata
DataCamp में हम मानते हैं कि एक अच्छे डेटा इंजीनियर के निम्नलिखित कौशल होने चाहिए:
- सॉफ्टवेयर इंजीनियरिंग बैकग्राउंड डेटा इंजीनियरों के पास सॉफ्टवेयर इंजीनियरिंग का बैकग्राउंड होना चाहिए, क्योंकि उन्हें ऑब्जेक्ट‑ओरिएंटेड प्रोग्रामिंग, डेटा स्ट्रक्चर्स और एल्गोरिद्म्स के अपने ज्ञान के साथ डेटा इंजीनियरिंग की चुनौतियों का सामना करना होता है। डेटा इंजीनियरों को Python, Scala या Java में अनुभवी होना चाहिए।
- टूल्स डेटा इंजीनियरों को Airflow, Apache या Kafka जैसे डेटा इंजीनियरिंग टूल्स के साथ सहज होना चाहिए।
- डेटाबेस तकनीकें किसी डेटा इंजीनियर को अनेक प्रकार के डेटाबेस का ज्ञान होना चाहिए।
- क्लाउड तकनीकें डेटा इंजीनियरों को Amazon Web Services, Google Cloud Platform और Microsoft Azure जैसे अनेक क्लाउड प्लेटफ़ॉर्म्स का उपयोग करने में सहज होना चाहिए। उन्हें क्लाउड आर्किटेक्चर और DevOps टूल्स का भी अनुभव होना चाहिए, क्योंकि वे सिस्टम के डेटा फ्लो वाले हिस्से के ऑटोमेशन के लिए ज़िम्मेदार होते हैं।
डेटा इंजीनियरिंग कैसे सीखें
यदि आप डेटा इंजीनियरिंग क्षेत्र में सुधार करना चाहते हैं, तो आप निम्नलिखित अनुशंसित DataCamp कोर्स पूरे करके शुरुआत कर सकते हैं। इन कोर्सों और प्रोजेक्ट्स को पूरा करके, आप संभवतः डेटा इंजीनियरिंग के क्षेत्र में इंटर्नशिप या नौकरी के पदों के लिए अधिक उपयुक्त उम्मीदवार बन जाएंगे।
- Introduction to Python
- Intermediate Python
- Introduction to Relational Databases in SQL
- Introduction to Scala
- Introduction to Data Engineering
- Introduction to Airflow in Python
- AWS Cloud Concepts
- Exploring London's Travel Network (Snowflake, Redshift, BigQuery) Projects
- Building Data Engineering Pipelines in Python
- NoSQL Concepts
- ETL in Python
- Streaming Concepts
- Streaming Data with AWS Kinesis and Lambda
इसके अलावा, हमारा Data Engineer Certification उद्योग में मान्य है और यह आपको नियोक्ताओं के समक्ष अपने कौशल साबित करने में सक्षम बनाता है।
यदि आप इस करियर पथ में रुचि रखते हैं, तो हमारे अलग लेख में जानें कि डेटा इंजीनियर कैसे बनें।
परिचय
डेटा हर जगह है। हाल के वर्षों में, कनेक्टेड डिवाइसों की बढ़ती संख्या और उनके उपयोग के विस्तार के साथ, दुनिया इतना विशाल डेटा उत्पन्न कर रही है जिसे अब पारंपरिक तरीकों से संभाला नहीं जा सकता।
Statista के अनुसार, 2021 तक 23.8 बिलियन डिवाइस इंटरनेट से जुड़े हैं और उनमें से 58% IoT डिवाइस हैं (स्मार्ट होम डिवाइस, कनेक्टेड सेल्फ-ड्राइविंग कारें, औद्योगिक उपकरण आदि) और शेष 42% नॉन‑IoT डिवाइस हैं (लैपटॉप, स्मार्टफोन आदि)। इसका अर्थ है कि आजकल डेटा अनेक स्रोतों से आ सकता है। इनमें से कुछ हैं:
दुनिया द्वारा उत्पन्न सभी विभिन्न संरचित डेटा को सॉफ्टवेयर संरचना के अन्य घटकों तक पहुँचाया जाना चाहिए, या बिज़नेस विश्लेषकों और डेटा वैज्ञानिकों द्वारा विज़ुअलाइज़ और व्याख्यायित किया जाना चाहिए। हालांकि, यह डिलीवरी सरल कार्य नहीं है। डेटा की डिलीवरी से जुड़ी कुछ अहम आवश्यकताएँ हैं:
इसलिए, इस जानकारी की डिलीवरी एक जटिल प्रक्रिया है और यदि इसे सही ढंग से नहीं किया गया, तो यह विशेष रूप से मध्यम और बड़े पैमाने की कंपनियों के लिए बहुत समस्याग्रस्त हो सकती है। यहीं पर डेटा इंजीनियर काम आते हैं।
इस लेख में आप डेटा इंजीनियरिंग की बुनियादी बातें सीखेंगे, जिनमें शामिल हैं:
डेटा इंजीनियर की ज़िम्मेदारियाँ क्या हैं?
संक्षेप में, डेटा इंजीनियर:
हमारे पूर्ण लेख में आप डेटा इंजीनियर क्या करता है के बारे में और अधिक जान सकते हैं।
ETL पाइपलाइंस
ETL पाइपलाइंस नियमित समयांतराल पर जटिल डेटा प्राप्त करती हैं और उसे एक उपयोगी रूप में संग्रहीत करने के उद्देश्य से प्रोसेस करती हैं। इन पाइपलाइंस की स्थापना और रखरखाव डेटा इंजीनियरों की ज़िम्मेदारी है।
ETL पाइपलाइंस के 3 प्रकार के चरण होते हैं:
डेटा वेयरहाउस
डेटा वेयरहाउस वे स्थान हैं जहाँ मानकीकृत डेटा संग्रहीत किया जाता है। इन्हें बड़े पैमाने पर डेटा को फ़िल्टर करने और पढ़ने के लिए अनुकूलित किया जाता है। आधुनिक डेटा वेयरहाउस में संरचित और असंरचित दोनों प्रकार का डेटा संग्रहीत किया जा सकता है, क्योंकि फ़ोटो और वीडियो जैसे श्रेणीबद्ध न हो सकने वाले डेटा को संग्रहीत करना भी महत्वपूर्ण है।
डेटा इंजीनियरिंग बनाम डेटा साइंस
डेटा इंजीनियर और डेटा वैज्ञानिक की भूमिकाओं के बीच अंतर महत्वपूर्ण है। एक ओर, डेटा वैज्ञानिक कंपनियों में अहम भूमिका निभाते हैं क्योंकि वे डेटा‑संचालित निर्णय लेने में योगदान करते हैं। फिर भी, डेटा वैज्ञानिकों की सफलता उतनी ही अच्छी होती है जितना अच्छा डेटा उनके पास उपलब्ध होता है।
दूसरी ओर, डेटा इंजीनियर वे होते हैं जो ऐसे सिस्टम डिज़ाइन करते हैं जो डेटा वैज्ञानिकों को संगठित और सुसंगत रूप में डेटा प्रदान करते हैं। एक बार जब डेटा इंजीनियर उनके लिए जानकारी उपलब्ध करा देते हैं, तो डेटा वैज्ञानिक, डेटा इंजीनियरों द्वारा दिए गए फ़ॉर्मैट का उपयोग करते हुए, डेटा में पैटर्न खोजकर निष्कर्ष तक पहुँचने की कोशिश करते हैं।
डेटा इंजीनियर और डेटा वैज्ञानिक स्पष्ट रूप से निकट सहयोग में काम करते हैं। हम इसे फुटबॉल मैच की तरह सोच सकते हैं। फुटबॉल में, कोच ही वे रणनीतियाँ विकसित करता है जो गोल के अवसर पैदा करेंगी, और वही खिलाड़ियों को विशिष्ट स्थानों पर सेट करता है। इस संदर्भ में कोच डेटा इंजीनियर है, इसलिए हम मान सकते हैं कि बॉल डेटा है और जो खिलाड़ी गोल करता है वह डेटा वैज्ञानिक है। टीम के बाकी सदस्य इन्फ्रास्ट्रक्चर हैं।
डेटा इंजीनियरिंग की लोकप्रियता क्यों बढ़ी है?
Burning Glass Nova प्लेटफ़ॉर्म पर किए गए अनुसंधान के अनुसार, 2019 में "डेटा इंजीनियर" के लिए नौकरी के विज्ञापन 88.3% बढ़े। इस शोध के अनुसार, 2016 से डेटा इंजीनियरों की मांग बढ़ रही है। एक और दिलचस्प जानकारी यह है कि डेटा इंजीनियरों के लिए नौकरी के अवसर, डेटा वैज्ञानिकों के लिए नौकरी के अवसरों से लगभग 5 गुना अधिक हैं। डेटा इंजीनियर का वेतन भी डेटा वैज्ञानिक के वेतन से 20–30% अधिक है।
जैसा कि ऊपर बताया गया है, डेटा वैज्ञानिक डेटा प्रोसेसिंग चेन की अंतिम कड़ी हैं। अपना काम करने के लिए उन्हें डेटा इंजीनियर द्वारा प्रोसेस किया हुआ डेटा चाहिए। जैसे‑जैसे डेटा स्रोतों और डेटा प्रकारों की संख्या बढ़ती है, डेटा इंजीनियर की आवश्यकता भी बढ़ती है। इसी कारण, कंपनियों ने हाल ही में डेटा के निष्कर्षण और वितरण में अधिक निवेश करना शुरू किया है।
चित्र 4.1 में, एक पिरामिड चार्ट डेटा साइंस की आवश्यकताओं की पदानुक्रम दिखाता है। इस पदानुक्रम में, डेटा इंजीनियरों को सौंपे गए कार्य पिरामिड के आधार पर हैं, जो बताता है कि कंपनियों के लिए डेटा इंजीनियर कितने महत्वपूर्ण हैं।
डेटा इंजीनियर के कौशल क्या हैं?
जैसा कि चित्र 5.1 में दिखाया गया है, डेटा इंजीनियरों के कौशल सामान्यतः सॉफ्टवेयर इंजीनियरों और डेटा वैज्ञानिकों के कौशल से जुड़े हुए होते हैं।
क्या डेटा इंजीनियर की भूमिका सॉफ्टवेयर इंजीनियर के ज़्यादा करीब है या डेटा वैज्ञानिक के?
डेटा इंजीनियरों के एक समूह की पूर्व नौकरियाँ चित्र 5.2 में प्रदर्शित हैं। इस चित्र के अनुसार, 40% से अधिक लोगों का बैकग्राउंड सॉफ्टवेयर इंजीनियरिंग में है। इसका मतलब न केवल यह है कि डेटा इंजीनियरिंग और सॉफ्टवेयर इंजीनियरिंग हमारी प्रारंभिक धारणा से कहीं अधिक निकट हैं, बल्कि यह भी कि आजकल सॉफ्टवेयर इंजीनियर अन्य किसी भी क्षेत्र की तुलना में डेटा इंजीनियरिंग में स्विच करने की अधिक संभावना रखते हैं।
DataCamp में हम मानते हैं कि एक अच्छे डेटा इंजीनियर के निम्नलिखित कौशल होने चाहिए:
डेटा इंजीनियरिंग कैसे सीखें
यदि आप डेटा इंजीनियरिंग क्षेत्र में सुधार करना चाहते हैं, तो आप निम्नलिखित अनुशंसित DataCamp कोर्स पूरे करके शुरुआत कर सकते हैं। इन कोर्सों और प्रोजेक्ट्स को पूरा करके, आप संभवतः डेटा इंजीनियरिंग के क्षेत्र में इंटर्नशिप या नौकरी के पदों के लिए अधिक उपयुक्त उम्मीदवार बन जाएंगे।
इसके अलावा, हमारा Data Engineer Certification उद्योग में मान्य है और यह आपको नियोक्ताओं के समक्ष अपने कौशल साबित करने में सक्षम बनाता है।
यदि आप इस करियर पथ में रुचि रखते हैं, तो हमारे अलग लेख में जानें कि डेटा इंजीनियर कैसे बनें।