hive ट्यूटोरियल
छत्ता के साथ शुरुआत करना
खोज…
टिप्पणियों
- Hive एक डेटा वेयरहाउस टूल है, जो Hadoop के ऊपर बनाया गया है।
- यह डेटा को क्वेरी करने के लिए SQL जैसी भाषा प्रदान करता है।
- हम हाइव में लगभग सभी एसक्यूएल प्रश्नों को चला सकते हैं, एकमात्र अंतर यह है कि, यह हडॉप क्लस्टर से परिणाम प्राप्त करने के लिए बैकएंड पर एक मैप-कम कार्य चलाता है। इस वजह से हाइव को कभी-कभी परिणाम-सेट लाने में अधिक समय लगता है।
हाइव में वर्ड काउंट उदाहरण
डॉक्स फ़ाइल (इनपुट फ़ाइल)
मेरी के पास एक छोटा मेमना था
इसका ऊन बर्फ की तरह सफेद था
और हर जगह मैरी चली गई
मेमने का जाना निश्चित था।
हाइव क्वेरी
CREATE TABLE FILES (line STRING);
LOAD DATA INPATH 'docs' OVERWRITE INTO TABLE FILES;
CREATE TABLE word_counts AS
SELECT word, count(1) AS count FROM
(SELECT explode(split(line, ' ')) AS word FROM FILES) w
GROUP BY word
ORDER BY word;
हाइव में word_counts तालिका का आउटपुट
मैरी, 2
था, 1
एक, 1
थोड़ा, 1
भेड़ का बच्चा, 2
इसके, 1
ऊन, 1
था, 2
सफेद, 1
के रूप में, 1
बर्फ, 1
और 1
हर जगह, 1
कि, 1
चला गया, 1
, 1
यकीन है कि, 1
करने के लिए, 1
जाने, 1
हाइव (लाइनक्स) की स्थापना
Https://hive.apache.org/downloads.html से नवीनतम स्थिर रिलीज़ डाउनलोड करके प्रारंभ करें
-> अब फाइल को अनटार करें
$ टार -xvf हाइव-2.xy-bin.tar.gz
-> / usr / स्थानीय / के साथ एक निर्देशिका बनाएँ
$ सुडो मकिदिर / usr / स्थानीय / छत्ता
-> फ़ाइल को रूट के साथ ले जाएँ
$ mv ~ / डाउनलोड / hive-2.xy / usr / स्थानीय / hive
-> पर्यावरण चर को एडॉप्ट करें और .bashrc में हाइव करें
$ gedit ~ / .bashrc
इस तरह
निर्यात HIVE_HOME = / usr / स्थानीय / छत्ता / अपाचे-छत्ता-2.0.1-बिन /
PATH = $ PATH: $ HIVE_HOME / bin को निर्यात करें
निर्यात CLASSPATH = $ CLASSPATH: / usr / स्थानीय / Hadoop / lib / *:।
निर्यात CLASSPATH = $ CLASSPATH: /usr/local/hive/apache-hive-2.0.1-bin/lib/*:।
-> अब, अगर यह पहले से ही नहीं चल रहा है, तो शुरू करें। और सुनिश्चित करें कि यह चल रहा है और यह सुरक्षित मोड में नहीं है।
$ हडूप fs -mkdir / उपयोगकर्ता / हाइव / गोदाम
निर्देशिका "वेयरहाउस" हाइव से संबंधित तालिका या डेटा को संग्रहीत करने का स्थान है।
$ हडूप fs -mkdir / tmp
अस्थायी निर्देशिका "tmp" प्रसंस्करण के मध्यवर्ती परिणाम को संग्रहीत करने के लिए अस्थायी स्थान है।
-> उन फ़ोल्डरों पर पढ़ने / लिखने के लिए अनुमतियाँ सेट करें।
$ हडूप fs -chmod g + w / उपयोगकर्ता / हाइव / गोदाम
$ हडूप fs -chmod g + w / उपयोगकर्ता / tmp
-> अब कंसोल में इस कमांड के साथ HIVE फायर करें
$ हाइव
लिनक्स में बाहरी मेटास्टोर के साथ हाइव इंस्टॉलेशन
पूर्व आवश्यक वस्तुएँ:
- जावा 7
- Hadoop (Hadoop स्थापना के लिए यहाँ देखें)
- Mysql सर्वर और ग्राहक
स्थापना:
चरण 1: डाउनलोड पृष्ठ से नवीनतम हाइव टारबॉल डाउनलोड करें ।
चरण 2: डाउनलोड की गई टारबॉल निकालें ( मान: टारबॉल $ HOME में डाउनलोड किया गया है )
tar -xvf /home/username/apache-hive-x.y.z-bin.tar.gz
चरण 3: पर्यावरण फ़ाइल अपडेट करें ( ~/.bashrc )
export HIVE_HOME=/home/username/apache-hive-x.y.z-bin
export PATH=$HIVE_HOME/bin:$PATH
नए पर्यावरण चर सेट करने के लिए फ़ाइल को स्रोत।
source ~/.bashrc
चरण 4: यहां से mysql के लिए JDBC कनेक्टर डाउनलोड करें और इसे निकालें।
tar -xvf mysql-connector-java-a.b.c.tar.gz
निकाली गई निर्देशिका में कनेक्टर जार फ़ाइल mysql-connector-java-abcjar । करने के लिए इसे कॉपी lib की $HIVE_HOME
cp mysql-connector-java-a.b.c.jar $HIVE_HOME/lib/
विन्यास:
$HIVE_HOME/conf/ निर्देशिका के तहत हाइव कॉन्फ़िगरेशन फ़ाइल hive-site.xml बनाएँ और निम्नलिखित मेटास्टेस संबंधित गुण जोड़ें।
<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost/hive_meta</value>
<description>JDBC connect string for a JDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
<description>Driver class name for a JDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>mysqluser</value>
<description>username to use against metastore database</description>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>mysqlpass</value>
<description>password to use against metastore database</description>
</property>
<property>
<name>datanucleus.autoCreateSchema</name>
<value>false</value>
</property>
<property>
<name>datanucleus.fixedDatastore</name>
<value>true</value>
</property>
</configuration>
गुणों के अनुसार MySQL "उपयोगकर्ता नाम" और "पासवर्ड" के मूल्यों को अपडेट करें।
मेटास्टोर स्कीमा बनाएँ:
$HIVE_HOME/scripts/metastore/upgrade/mysql/ स्कीमा स्क्रिप्ट $HIVE_HOME/scripts/metastore/upgrade/mysql/ तहत उपलब्ध हैं
MySQL में लॉगिन करें और स्कीमा स्रोत,
mysql -u username -ppassword
mysql> create database hive_meta;
mysql> use hive_meta;
mysql> source hive-schema-x.y.z.mysql.sql;
mysql> exit;
मेटास्टोर शुरू करना:
hive --service metastore
इसे पृष्ठभूमि में चलाने के लिए,
nohup hive --service metastore &
HiveServer2 शुरू करना: (यदि आवश्यक हो तो उपयोग करें)
hiveserver2
इसे पृष्ठभूमि में चलाने के लिए,
nohup hiveserver2 metastore &
नोट: ये निष्पादन $HIVE_HOME/bin/ तहत उपलब्ध हैं
जुडिये:
hive से जुड़ने के लिए hive , beeline या ह्यू का उपयोग करें।
हाइव सीएलआई को पदावनत किया जाता है, बीलाइन या ह्यू का उपयोग करने की सिफारिश की जाती है।
ह्यू के लिए अतिरिक्त विन्यास:
इस मूल्य को $HUE_HOME/desktop/conf/hue.ini
[beeswax]
hive_conf_dir=/home/username/apache-hive-x.y.z-bin/conf