Hive हे बिझनेसमध्ये मोठ्या प्रमाणावर वापरले जाणारे बिग डेटा अॅनालिटिक्स टूल आहे आणि तुम्ही बिग डेटासाठी नवीन असल्यास ते सुरू करण्यासाठी हे एक उत्तम ठिकाण आहे. हा Apache Hive धडा Apache Hive च्या मूलभूत गोष्टींमधून जातो, पोळे का आवश्यक आहे, त्याची वैशिष्ट्ये आणि इतर सर्व काही तुम्हाला माहित असले पाहिजे.
आधी Hadoop फ्रेमवर्क समजून घेऊ ज्यावर Apache Hive बांधले आहे.
अपाचे हडोप
Apache Hadoop एक विनामूल्य आहे आणि मुक्त स्रोत गीगाबाइट्सपासून पेटाबाइट्सपर्यंतच्या आकारातील मोठे डेटासेट संचयित आणि प्रक्रिया करण्यासाठी प्लॅटफॉर्म. डेटा संचयित करण्यासाठी आणि विश्लेषण करण्यासाठी एकाच मोठ्या संगणकाची आवश्यकता न ठेवता, हॅडूप असंख्य संगणकांना समांतरपणे प्रचंड डेटासेटचे विश्लेषण करण्यास अनुमती देते.
MapReduce आणि Hadoop वितरित फाइल सिस्टम हे दोन घटक आहेत:
- मॅपरेड्यूस – MapReduce हे कमोडिटी हार्डवेअर क्लस्टर्सवरील मोठ्या प्रमाणात आयोजित, अर्ध-संरचित आणि असंरचित डेटा हाताळण्यासाठी एक समांतर प्रोग्रामिंग तंत्र आहे.
- एचडीएफएस - एचडीएफएस (हडूप डिस्ट्रिब्युटेड फाइल सिस्टम) हा एक हडूप फ्रेमवर्क घटक आहे जो डेटा संग्रहित करतो आणि त्यावर प्रक्रिया करतो. ही एक फॉल्ट-सहिष्णु फाइल सिस्टम आहे जी मानक हार्डवेअरवर चालते
हडूप मॉड्युलला मदत करण्यासाठी हडूप इकोसिस्टममधील विविध उप-प्रकल्प (साधने), स्कूप, पिग आणि हायव्हसह वापरले जातात.
- पोळे - Hive हे SQL-शैलीतील स्क्रिप्ट लिहिण्यासाठी एक फ्रेमवर्क आहे जे MapReduce गणने करतात.
- डुक्कर - पिग ही एक प्रक्रियात्मक प्रोग्रामिंग भाषा आहे जी MapReduce प्रक्रियेसाठी स्क्रिप्ट तयार करण्यासाठी वापरली जाऊ शकते.
- स्कूप – Sqoop हे HDFS आणि RDBMS मधील डेटा आयात आणि निर्यात करण्यासाठी एक साधन आहे.
काय आहे अपाचे पोळे?
Apache Hive एक मुक्त स्रोत आहे डेटा वेअरहाऊस Apache Hadoop Distributed File System (HDFS) किंवा Apache HBase सारख्या इतर डेटा स्टोरेज सिस्टममध्ये थेट संग्रहित केलेले प्रचंड डेटा सेट वाचणे, लिहिणे आणि व्यवस्थापित करण्यासाठी प्रोग्राम.
SQL डेव्हलपर डेटा क्वेरी आणि विश्लेषणासाठी Hive Query Language (HQL) स्टेटमेंट तयार करण्यासाठी Hive वापरू शकतात जे नियमित SQL स्टेटमेंटशी तुलना करता येतात. लांब जावा कोड शिकण्याची आणि लिहिण्याची गरज काढून टाकून MapReduce प्रोग्रामिंग सुलभ करण्यासाठी ते तयार केले गेले. त्याऐवजी, तुम्ही तुमच्या क्वेरी HQL मध्ये लिहू शकता आणि Hive नकाशा तयार करेल आणि तुमच्यासाठी कार्ये कमी करेल.
Apache Hive चा SQL सारखा इंटरफेस अॅड-हॉक शोध, सारांश आणि हडूप डेटाचे विश्लेषण करण्यासाठी गोल्ड स्टँडर्ड बनला आहे. मेघमध्ये समाविष्ट केल्यावर संगणकीय नेटवर्क, हे समाधान विशेषतः किफायतशीर आणि स्केलेबल आहे, म्हणूनच Netflix आणि Amazon सह अनेक कंपन्या Apache Hive विकसित आणि सुधारणे सुरू ठेवतात.
इतिहास
फेसबुकवर असताना, जॉयदीप सेन सरमा आणि आशिष थुसू यांनी मिळून अपाचे हायव्ह तयार केले. त्या दोघांनी ओळखले की Hadoop मधून जास्तीत जास्त फायदा मिळवण्यासाठी त्यांना काही किचकट Java Map-Reduce कार्ये तयार करावी लागतील. त्यांनी ओळखले की ते त्यांच्या वेगाने विस्तारत असलेल्या अभियांत्रिकी आणि विश्लेषणात्मक संघांना संपूर्ण कंपनीमध्ये हडूपचा लाभ घेण्यासाठी आवश्यक असलेल्या कौशल्यांवर शिक्षित करू शकणार नाहीत. अभियंते आणि विश्लेषक वारंवार वापरकर्ता इंटरफेस म्हणून SQL चा वापर करतात.
SQL बहुसंख्य विश्लेषणाच्या गरजा पूर्ण करू शकत असताना, विकासकांनी Hadoop च्या प्रोग्रामेबिलिटीचा समावेश करण्याचा देखील हेतू ठेवला. Apache Hive या दोन उद्दिष्टांमधून उद्भवली: SQL-आधारित घोषणात्मक भाषा ज्याने विकासकांना SQL पुरेसे नसताना त्यांच्या स्वतःच्या स्क्रिप्ट आणि प्रोग्राम आणण्यास सक्षम केले.
डेटा-चालित संस्थांचे बांधकाम सुलभ करण्यासाठी कंपनीमधील सर्व डेटासेटबद्दल केंद्रीकृत मेटाडेटा (हडूप-आधारित) ठेवण्यासाठी देखील विकसित केले गेले.
Apache Hive कसे कार्य करते?
थोडक्यात, Apache Hive HiveQL (SQL-सारखी) भाषेत लिहिलेल्या इनपुट प्रोग्रामला एक किंवा अधिक Java MapReduce, Tez किंवा Spark कार्यांमध्ये रूपांतरित करते. (हे सर्व एक्झिक्यूशन इंजिन Hadoop YARN शी सुसंगत आहेत.) त्यानंतर, Apache Hive डेटाची मांडणी Hadoop डिस्ट्रिब्युटेड फाइल सिस्टम HDFS साठी टेबलमध्ये करते) आणि उत्तर मिळविण्यासाठी क्लस्टरवर कार्ये करते.
डेटा
Apache Hive सारण्या रिलेशनल डेटाबेसमधील सारण्यांप्रमाणेच व्यवस्थित केल्या जातात, डेटा युनिट्स मोठ्या ते लहान आकारात असतात. डाटाबेस हे सारण्यांचे बनलेले असतात जे विभागांमध्ये विभागलेले असतात, जे पुढे बकेटमध्ये विभागले जातात. HiveQL (Hive Query Language) डेटा ऍक्सेस करण्यासाठी वापरला जातो, ज्यामध्ये बदल किंवा जोडले जाऊ शकते. टेबल डेटा प्रत्येक डेटाबेसमध्ये अनुक्रमित केला जातो आणि प्रत्येक टेबलची स्वतःची HDFS निर्देशिका असते.
आर्किटेक्चर
आता आपण हायव्ह आर्किटेक्चरच्या सर्वात महत्वाच्या पैलूबद्दल बोलू. Apache Hive चे घटक खालीलप्रमाणे आहेत:
मेटास्टोर — ते प्रत्येक सारणीबद्दल माहिती ठेवते, जसे की त्याची रचना आणि स्थान. विभाजन मेटाडेटा देखील Hive मध्ये समाविष्ट आहे. हे ड्रायव्हरला क्लस्टरमध्ये पसरलेल्या वेगवेगळ्या डेटा सेटच्या प्रगतीचा मागोवा ठेवण्यास अनुमती देते. डेटा पारंपारिक RDBMS स्वरूपात संग्रहित केला जातो. ड्रायव्हरला डेटाचा मागोवा ठेवण्यासाठी हायव्ह मेटाडेटा अत्यंत महत्त्वाचा आहे. बॅकअप सर्व्हर नियमितपणे डेटा डुप्लिकेट करतो जेणेकरून डेटा गमावल्यास तो पुनर्प्राप्त केला जाऊ शकतो.
ड्राइव्हर - HiveQL स्टेटमेंट्स ड्रायव्हरद्वारे प्राप्त होतात, जे कंट्रोलर म्हणून कार्य करते. सत्रांची स्थापना करून, ड्रायव्हर विधानाची अंमलबजावणी सुरू करतो. हे कार्यकारिणीच्या आयुष्याचा आणि प्रगतीचा मागोवा ठेवते. HiveQL स्टेटमेंटच्या अंमलबजावणीदरम्यान, ड्रायव्हर आवश्यक मेटाडेटा जतन करतो. हे रिड्यूस प्रक्रियेनंतर डेटा किंवा क्वेरी परिणाम संकलन बिंदू म्हणून देखील कार्य करते.
कंपाईलर - हे HiveQL क्वेरी संकलन कार्यान्वित करते. क्वेरी आता अंमलबजावणी योजनेत रूपांतरित झाली आहे. कार्ये योजनेत सूचीबद्ध आहेत. क्वेरीद्वारे अनुवादित केल्याप्रमाणे परिणाम प्राप्त करण्यासाठी MapReduce ने ज्या पायऱ्या केल्या पाहिजेत त्या देखील त्यात समाविष्ट आहेत. Hive's compiler (AST) द्वारे क्वेरी अॅब्स्ट्रॅक्ट सिंटॅक्स ट्रीमध्ये रूपांतरित केली जाते. सुसंगतता आणि कंपाइल-टाइम फॉल्ट (DAG) तपासल्यानंतर AST ला डायरेक्टेड अॅसायक्लिक ग्राफमध्ये रूपांतरित करते.
ऑप्टिमायझर - ते अंमलबजावणी योजनेवर वेगवेगळे बदल करून DAG ला अनुकूल करते. हे सुधारित कार्यक्षमतेसाठी परिवर्तने एकत्र करते, जसे की जॉइन्सची पाइपलाइन एका जोडणीमध्ये बदलणे. गती सुधारण्यासाठी, ऑप्टिमायझर क्रियाकलापांची विभागणी करू शकतो, जसे की कपात ऑपरेशन करण्यापूर्वी डेटामध्ये परिवर्तन लागू करणे.
कार्यकारी - संकलन आणि ऑप्टिमायझेशन पूर्ण झाल्यावर एक्झिक्युटर कार्ये चालवतो. नोकऱ्या एक्झिक्युटरद्वारे पाइपलाइन केल्या जातात.
CLI, UI आणि थ्रिफ्ट सर्व्हर - कमांड-लाइन इंटरफेस (CLI) हा एक वापरकर्ता इंटरफेस आहे जो बाह्य वापरकर्त्याला Hive शी संवाद साधण्याची परवानगी देतो. JDBC किंवा ODBC प्रोटोकॉल प्रमाणेच Hive चा थ्रिफ्ट सर्व्हर, बाह्य क्लायंटला Hive शी नेटवर्कद्वारे संवाद साधण्याची परवानगी देतो.
सुरक्षा
Apache Hive हे Hadoop सुरक्षेसह एकत्रित केले आहे, जे क्लायंट-सर्व्हर म्युच्युअल ऑथेंटिकेशनसाठी Kerberos वापरते. HDFS Apache Hive मधील नवीन व्युत्पन्न केलेल्या फायलींसाठी परवानग्या ठरवते, ज्यामुळे तुम्हाला वापरकर्ता, गट आणि इतरांकडून मंजूरी मिळू शकते.
महत्वाची वैशिष्टे
- Hive बाह्य सारण्यांना समर्थन देते, जे तुम्हाला HDFS मध्ये डेटा संग्रहित न करता त्यावर प्रक्रिया करू देते.
- वेग वाढवण्यासाठी ते टेबल स्तरावर डेटा विभाजन देखील सक्षम करते.
- Apache Hive उत्कृष्टपणे Hadoop च्या निम्न-स्तरीय इंटरफेसची गरज पूर्ण करते.
- Hive डेटा सारांशीकरण, क्वेरी आणि विश्लेषण सुलभ करते.
- HiveQL ला कोणत्याही प्रोग्रामिंग कौशल्याची आवश्यकता नाही; SQL प्रश्नांची साधी समज पुरेशी आहे.
- आम्ही डेटा विश्लेषणासाठी अॅड-हॉक क्वेरी करण्यासाठी देखील Hive वापरू शकतो.
- हे स्केलेबल, परिचित आणि जुळवून घेण्यायोग्य आहे.
- HiveQL ला कोणत्याही प्रोग्रामिंग कौशल्याची आवश्यकता नाही; SQL प्रश्नांची साधी समज पुरेशी आहे.
फायदे
Apache Hive दिवसाच्या शेवटी अहवाल, दैनिक व्यवहार मूल्यमापन, तदर्थ शोध आणि डेटा विश्लेषणास अनुमती देते. Apache Hive द्वारे प्रदान केलेले सर्वसमावेशक अंतर्दृष्टी महत्त्वपूर्ण स्पर्धात्मक फायदे देतात आणि तुमच्यासाठी बाजारातील मागणीला प्रतिसाद देणे सोपे करते.
अशी माहिती सहज उपलब्ध असण्याचे काही फायदे येथे आहेत:
- वापरणी सोपी - त्याच्या SQL सारख्या भाषेसह, क्वेरी करणे डेटा समजण्यास सोपे आहे.
- प्रवेगक डेटा घालणे — Apache Hive टेबल प्रकार किंवा स्कीमा परिभाषा सत्यापित केल्याशिवाय स्कीमा वाचत असल्याने, डेटाबेसच्या अंतर्गत स्वरूपातील डिस्कवर डेटा वाचणे, विश्लेषित करणे आणि अनुक्रमित करणे आवश्यक नाही. याउलट, पारंपारिक डेटाबेसमध्ये, डेटा प्रत्येक वेळी जोडला जातो तेव्हा त्याचे सत्यापन करणे आवश्यक आहे.
- उत्कृष्ट स्केलेबिलिटी, लवचिकता आणि खर्च-प्रभावीता – एचडीएफएसमध्ये डेटा संग्रहित केल्यामुळे, Apache Hive 100s पेटाबाइट डेटा ठेवू शकते, ज्यामुळे तो सामान्य डेटाबेसपेक्षा कितीतरी जास्त प्रमाणात वाढवता येणारा पर्याय बनतो. Apache Hive, क्लाउड-आधारित Hadoop सेवा म्हणून, ग्राहकांना बदलत्या वर्कलोडला सामोरे जाण्यासाठी व्हर्च्युअल सर्व्हरला वेगाने वर आणि खाली करण्याची परवानगी देते.
- विस्तृत कार्य क्षमता - मोठे डेटासेट प्रति तास 100,000 क्वेरी हाताळू शकतात.
मर्यादा
- सर्वसाधारणपणे, Apache Hive क्वेरींमध्ये खूप उच्च विलंब आहे.
- सबक्वेरी समर्थन मर्यादित आहे.
- रिअल-टाइम क्वेरी आणि पंक्ती-स्तरीय बदल Apache Hive मध्ये उपलब्ध नाहीत.
- भौतिक दृश्यांना कोणतेही समर्थन नाही.
- पोळे मध्ये, अद्यतन आणि हटवा क्रिया समर्थित नाहीत.
- OLTP (ऑनलाइन संक्रमणकालीन प्रक्रिया) साठी अभिप्रेत नाही.
Apache Hive सह प्रारंभ करणे
Apache Hive हा एक मजबूत Hadoop भागीदार आहे जो तुमचा कार्यप्रवाह सुलभ आणि सुव्यवस्थित करतो. Apache Hive चा जास्तीत जास्त फायदा घेण्यासाठी, अखंड एकीकरण आवश्यक आहे. पहिली पायरी म्हणजे वर जाणे वेबसाइट.
1. स्थिर प्रकाशन पासून स्थापना पोळे
अपाचे डाउनलोड मिररपैकी एकावरून हायव्हचे सर्वात अलीकडील स्थिर रिलीझ डाउनलोड करून प्रारंभ करा (पहा पोळे सोडतात). टारबॉल नंतर अनपॅक करणे आवश्यक आहे. हे hive-xyz नावाचा सबफोल्डर तयार करेल (जेथे xyz रिलीज क्रमांक आहे):
इन्स्टॉलेशन निर्देशिकेकडे निर्देश करण्यासाठी पर्यावरण व्हेरिएबल HIVE_HOME सेट करा:
शेवटी, तुमच्या मध्ये $HIVE_HOME/bin जोडा PATH
:
2. पोळे चालवणे
पोळे हडूप वापरते, म्हणून:
- तुमच्या मार्गात हडूप असणे आवश्यक आहे किंवा
3. DLL ऑपरेशन
पोळे टेबल तयार करणे
दोन स्तंभांसह पोक्स नावाचे टेबल व्युत्पन्न करते, ज्यापैकी पहिला पूर्णांक असतो आणि दुसरा स्ट्रिंग असतो.
टेबल्सद्वारे ब्राउझिंग
सर्व सारण्यांची यादी करणे
सारण्या बदलणे आणि टाकणे
सारणीची नावे बदलली जाऊ शकतात आणि स्तंभ जोडले किंवा बदलले जाऊ शकतात:
हे लक्षात घेण्यासारखे आहे की REPLACE COLUMNS सर्व विद्यमान स्तंभांना पुनर्स्थित करते आणि फक्त टेबलची रचना बदलते आणि डेटा बदलत नाही. सारणीमध्ये मूळ SerDe वापरणे आवश्यक आहे. REPLACE COLUMNS चा वापर टेबलच्या स्कीमामधून स्तंभ काढण्यासाठी देखील केला जाऊ शकतो:
ड्रॉपिंग टेबल्स
Apache Hive मध्ये अनेक अतिरिक्त ऑपरेशन्स आणि वैशिष्ट्ये आहेत ज्याबद्दल तुम्ही अधिकृत वेबसाइटला भेट देऊन जाणून घेऊ शकता.
निष्कर्ष
Hive डेफिनिशन हा Apache Hadoop च्या वर तयार केलेल्या प्रचंड डेटासेटसाठी क्वेरी आणि विश्लेषणासाठी डेटा प्रोग्राम इंटरफेस आहे. व्यावसायिक ते इतर प्रोग्राम्स, टूल्स आणि सॉफ्टवेअरवर निवडतात कारण ते मुख्यत्वे Hive विस्तृत डेटासाठी डिझाइन केलेले आहे आणि वापरण्यास सोपे आहे.
आशा आहे की हे ट्यूटोरियल तुम्हाला Apache Hive सह किकस्टार्ट करण्यात आणि तुमचे वर्कफ्लो अधिक कार्यक्षम बनविण्यात मदत करेल. आम्हाला टिप्पण्यांमध्ये कळवा.
प्रत्युत्तर द्या