मेटाकार के रूप में हाइव में MySQL का उपयोग क्यों करें:
- डिफ़ॉल्ट रूप से, हाइव मेटाबेस के रूप में डर्बी डेटाबेस के साथ आता है।
- डर्बी डेटाबेस एक समय में केवल एकल सक्रिय उपयोगकर्ता का समर्थन कर सकता है
- डर्बी उत्पादन वातावरण में अनुशंसित नहीं है
तो यहाँ समाधान है
- एक समय में कई उपयोगकर्ताओं को हाइव से जोड़ने के लिए बैकएंड पर मेटा स्टोरेज के रूप में MYSQL का उपयोग करें
- MYSQL स्टैंडअलोन मेटास्टोर के लिए सबसे अच्छा विकल्प है
Hadoop पर Hive में MySQL डेटाबेस को स्थापित और कॉन्फ़िगर करने के लिए चरण
चरण 1) इस चरण में, हम दो कार्य करने जा रहे हैं
- Mysql-server की स्थापना
- Mysql-server और इसकी प्रक्रिया की जाँच करना
- Sudo apt-get install mysql-server कमांड का उपयोग करके , हम mysql सर्वर डाउनलोड कर सकते हैं
स्क्रीनशॉट में दिखाए अनुसार MySQL स्थापित करें
- अंत में सफल स्थापना के बाद, MySQL चला जाएगा जैसा कि नीचे स्क्रीन शॉट में दिखाया गया है
चरण 2) MySQL जावा कनेक्टर स्थापित करना। यह जावा निर्भरता और कनेक्शन के उद्देश्य के लिए है
चरण 3) हाइव काम निर्देशिका में कनेक्टर के लिए नरम लिंक बनाना । यह जावा और MySql के बीच सॉफ्ट लिंक के लिए है।
चरण 4) हाइव में MySql स्टोरेज को कॉन्फ़िगर करना
- पासवर्ड के बाद MySql -u root -p टाइप करें
- यहाँ -u रूट उपयोगकर्ता नाम का प्रतिनिधित्व करता है, पी पासवर्ड का अर्थ है
- उपरोक्त कमांड दर्ज करने के बाद, उपयोगकर्ता को वैध पासवर्ड दर्ज करना होगा और फिर दर्ज करें पर क्लिक करना होगा
- फिर यह MySql शेल मोड में प्रवेश करेगा
चरण 5) MySql के लिए उपयोगकर्ता नाम और पासवर्ड बनाना, विशेषाधिकार प्रदान करना।
हमें नीचे दिखाए अनुसार कमांड निष्पादित करने होंगे,
mysql> CREATE USER 'hiveuser'@'%' IDENTIFIED BY 'hivepassword';mysql> GRANT all on *.* to 'hiveuser'@localhost identified by 'hivepassword';mysql> flush privileges;
चरण 6) हाइव-site.xml को कॉन्फ़िगर करना
- चरण 5 के बाद MySQL डेटाबेस को उपयोगकर्ता नाम और पासवर्ड निर्दिष्ट करें और विशेषाधिकार दें।
- यहां हम MySQL डेटाबेस के साथ एक कनेक्शन प्राप्त करने के लिए हाइव में कुछ गुणों को कॉन्फ़िगर करेंगे ।
उपरोक्त स्क्रीनशॉट से, हम निम्नलिखित निरीक्षण करते हैं। यहां हम 4 गुणों को परिभाषित कर रहे हैं जो हाइव में मेटा स्टोर के रूप में MYSQL स्थापित करने के लिए आवश्यक हो सकते हैं
ये इस प्रकार हैं:
- यह संपत्ति कनेक्शन URL उद्देश्य के लिए है। यहां हम इस संपत्ति में ConnectionURL को परिभाषित कर रहे हैं। यह JDBC कनेक्शन और इसके साथ ही मेटास्टोर स्थान का प्रतिनिधित्व करता है
- यह गुण कनेक्शन ड्राइवर नाम के लिए है। यहाँ mysql.jdbc.Driver सम्मान मूल्य है जिसका हमें मूल्य टैग में उल्लेख करना है
- यह गुण कनेक्शन उपयोगकर्ता नाम को परिभाषित करने के लिए उपयोग किया जाता है। इसमें हमने "hiveguru" को उपयोगकर्ता नाम के रूप में परिभाषित किया
- यह गुण कनेक्शन पासवर्ड का उल्लेख करने के लिए उपयोग किया जाता है। इसमें हमने पासवर्ड को यूजर पासवर्ड के रूप में परिभाषित किया।
एक बार hive -site.xml में रखे गए गुणों को हमें मैन्युअल रूप से (Ctrl + S) सहेजना होगा और फ़ाइल को बंद करना होगा। इस फाइल को बंद करने के बाद, हमें हाइव टेबल बनाना होगा और MySQL स्टोरेज में टेबल डिटेल्स को चेक करना होगा।
इस कोड को hive-site.xml में रखें
hive-site.xml
javax.jdo.option.ConnectionURL jdbc:mysql://localhost/metastore?createDatabaseIfNotExist=true metadata is stored in a MySQL server javax.jdo.option.ConnectionDriverName com.mysql.jdbc.Driver MySQL JDBC driver class javax.jdo.option.ConnectionUserName hiveuser user name for connecting to mysql server javax.jdo.option.ConnectionPassword hivepassword password for connecting to mysql server
चरण 7 ) हाइव में तालिका "गुरु99" बनाएं।
उपरोक्त स्क्रीनशॉट से, हम निम्नलिखित देख सकते हैं
- दो स्तंभ नामों के साथ "गुरु99" तालिका नाम का निर्माण
- इसके डेटा प्रकार के साथ उल्लिखित स्तंभ नाम पूर्णांक के रूप में है, और दूसरा एक स्ट्रिंग प्रकार का है
अगले चरण में, हम यह जांचने जा रहे हैं कि यह MySql में संग्रहीत है या नहीं
चरण 8) MySql शेल मोड में प्रवेश करना
उपरोक्त स्क्रीनशॉट से, हम निम्नलिखित देख सकते हैं
- पहले हमें डेटाबेस का उपयोग "मेटास्टोर के रूप में" करना होगा
- एक बार जब यह मेटा स्टोर चुन लेता है तो हम स्क्रीनशॉट में दिखाए अनुसार "शो" टेबल कमांड का उपयोग करके इसमें मौजूद तालिकाओं की जांच कर सकते हैं
- हाइव में जो भी टेबल बनाई जाती हैं, मेटाडेटा उस टेबल से मेल खाती है जिसे MySQL डेटाबेस में TBLS के तहत स्टोर किया जाता है।
- "Guur99 टेबल" हाइव में बनाई गई है, इसलिए संबंधित मेटाडेटा को TBLS के तहत MySQL में संग्रहीत किया जाता है।
चरण 9) यह जांचना कि क्या बनाई गई तालिका MySQL पेश कर रही है या नहीं
TBLS से सेलेक्ट * दर्ज करके, यह हाइव शेल मोड में हमारे द्वारा बनाई गई तालिकाओं को प्रदर्शित करने वाला है
उपरोक्त स्क्रीनशॉट से हम निम्नलिखित बातों का पालन कर सकते हैं:
- तालिका का नाम "गुरु99" जो बनाया गया है वह हाइव MySQL शेल मोड में प्रदर्शित किया जा सकता है
- इसके अलावा, यह टेबल निर्माण समय, अभिगम समय और अन्य गुणों की भी जानकारी प्रदान करेगा जैसा कि ऊपर स्क्रीन शॉट में दिखाया गया है।