hive Handledning
Komma igång med bikupa
Sök…
Anmärkningar
- Hive är ett datalagerverktyg byggt på toppen av Hadoop .
- Det tillhandahåller ett SQL-liknande språk för frågedata.
- Vi kan köra nästan alla SQL-frågor i Hive, den enda skillnaden är att det kör ett kartminskande jobb i backend för att hämta resultat från Hadoop Cluster. På grund av detta Hive tar ibland mer tid att hämta resultatuppsättningen.
Exempel på ordräkning i Hive
Dokumentfil (Input File)
Mary hade ett litet lamm
dess fleece var vit som snö
och överallt där Mary åkte
lammet var säkert att gå.
Hivefråga
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;
Output från word_counts-tabellen i Hive
Mary, 2
haft, en
a, 1
lite, en
lamm, 2
dess, ett
fleece, en
var, 2
vit, en
som, ett
snö, en
och, en
överallt, en
att, en
åkte, en
den, en
säker, en
till, en
go, en
Installation av Hive (linux)
Börja med att ladda ner den senaste stabila versionen från https://hive.apache.org/downloads.html
-> Lossa nu filen med
$ tar -xvf hive-2.xy-bin.tar.gz
-> Skapa en katalog i / usr / local / med
$ sudo mkdir / usr / local / bikupa
-> Flytta filen till rot med
$ mv ~ / Nedladdningar / hive-2.xy / usr / local / hive
-> Redigera miljövariabler för hadoop och hive i .bashrc
$ gedit ~ / .bashrc
så här
exportera HIVE_HOME = / usr / local / hive / apache-hive-2.0.1-bin /
export PATH = $ PATH: $ HIVE_HOME / bin
export CLASSPATH = $ CLASSPATH: / usr / local / Hadoop / lib / *:.
exporter CLASSPATH = $ CLASSPATH: /usr/local/hive/apache-hive-2.0.1-bin/lib/* :.
-> Nu börja hadoop om den inte redan körs. Och se till att den körs och att den inte är i säkert läge.
$ hadoop fs -mkdir / user / hive / warehouse
Katalogen "lager" är platsen för att lagra tabellen eller data relaterade till bikupan.
$ hadoop fs -mkdir / tmp
Den temporära katalogen "tmp" är den tillfälliga platsen för att lagra det mellanliggande resultatet av behandlingen.
-> Ställ in behörigheter för läsning / skrivning i dessa mappar.
$ hadoop fs -chmod g + w / användare / bikupa / lager
$ hadoop fs -chmod g + w / user / tmp
-> Avfyra nu HIVE med detta kommando i konsolen
$ bikupa
Hiveinstallation med extern metastore i Linux
Förutsättningar:
- Java 7
- Hadoop (se här för Hadoop installation)
- Mysql Server och Client
Installation:
Steg 1: Ladda ner den senaste Hive-tarbollen från nedladdningssidan .
Steg 2: Extrahera den nedladdade tarballen ( Antagande: Tarballen laddas ner i $ HOME )
tar -xvf /home/username/apache-hive-x.y.z-bin.tar.gz
Steg 3: Uppdatera miljöfilen ( ~/.bashrc
)
export HIVE_HOME=/home/username/apache-hive-x.y.z-bin
export PATH=$HIVE_HOME/bin:$PATH
källa till filen för att ställa in nya miljövariabler.
source ~/.bashrc
Steg 4: Ladda ner JDBC-kontakten för mysql härifrån och extrahera den.
tar -xvf mysql-connector-java-a.b.c.tar.gz
Den extraherade katalogen innehåller anslutningsburkfilen mysql-connector-java-abcjar
. Kopiera den till lib
på $HIVE_HOME
cp mysql-connector-java-a.b.c.jar $HIVE_HOME/lib/
Konfiguration:
Skapa hive-site.xml
under $HIVE_HOME/conf/
katalog och lägg till följande metastore relaterade egenskaper.
<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>
Uppdatera värdena för MySQL "användarnamn" och "lösenord" i enlighet därmed i egenskaperna.
Skapa Metastore-schema:
Skript för metastore-scheman är tillgängliga under $HIVE_HOME/scripts/metastore/upgrade/mysql/
Logga in på MySQL och källa till schemat,
mysql -u username -ppassword
mysql> create database hive_meta;
mysql> use hive_meta;
mysql> source hive-schema-x.y.z.mysql.sql;
mysql> exit;
Starta Metastore:
hive --service metastore
För att köra det i bakgrunden,
nohup hive --service metastore &
Starta HiveServer2: (Använd vid behov)
hiveserver2
För att köra det i bakgrunden,
nohup hiveserver2 metastore &
Obs: Dessa körbara filer är tillgängliga under $HIVE_HOME/bin/
Ansluta:
Användning antingen hive
, beeline
eller nyans för att ansluta till Hive.
Hive CLI avskrivs, med hjälp av Beeline eller Hue rekommenderas.
Ytterligare konfigurationer för nyans:
Uppdatera detta värde i $HUE_HOME/desktop/conf/hue.ini
[beeswax]
hive_conf_dir=/home/username/apache-hive-x.y.z-bin/conf