hive Samouczek
Rozpoczęcie pracy z gałęzią
Szukaj…
Uwagi
- Hive to narzędzie do hurtowni danych zbudowane na platformie Hadoop .
- Zapewnia język podobny do SQL do wyszukiwania danych.
- Możemy uruchamiać prawie wszystkie zapytania SQL w gałęzi, jedyną różnicą jest to, że uruchamia zadanie zmniejszania mapy na zapleczu, aby pobrać wynik z klastra Hadoop. Z tego powodu Hive czasami zajmuje więcej czasu, aby pobrać zestaw wyników.
Przykład liczby słów w gałęzi
Plik Dokumentów (Plik Wejściowy)
Mary miała małe jagnię
jego runo było białe jak śnieg
i wszędzie, gdzie Maryja poszła
jagnię z pewnością odejdzie.
Hive Query
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;
Dane wyjściowe tabeli word_counts w gałęzi
Mary, 2
miał 1
a, 1
mały, 1
jagnięcina, 2
jego, 1
polar, 1
było 2
biały, 1
jak 1
śnieg, 1
i 1
wszędzie 1
że 1
poszedł, 1
the, 1
jasne, 1
do, 1
idź, 1
Instalacja gałęzi (linux)
Zacznij od pobrania najnowszej stabilnej wersji ze strony https://hive.apache.org/downloads.html
-> Teraz rozpakuj plik za pomocą
$ tar -xvf hive-2.xy-bin.tar.gz
-> Utwórz katalog w / usr / local / with
$ sudo mkdir / usr / local / hive
-> Przenieś plik do rootowania
$ mv ~ / Downloads / hive-2.xy / usr / local / hive
-> Edytuj zmienne środowiskowe dla hadoopa i gałęzi w .bashrc
$ gedit ~ / .bashrc
lubię to
export HIVE_HOME = / usr / local / hive / apache-hive-2.0.1-bin /
export PATH = $ PATH: $ HIVE_HOME / bin
export CLASSPATH = $ CLASSPATH: / usr / local / Hadoop / lib / * :.
export CLASSPATH = $ CLASSPATH: /usr/local/hive/apache-hive-2.0.1-bin/lib/* :.
-> Teraz uruchom hadoop, jeśli jeszcze nie działa. I upewnij się, że działa i nie jest w trybie awaryjnym.
$ hadoop fs -mkdir / user / hive / warehouse
Katalog „hurtownia” to miejsce do przechowywania tabeli lub danych związanych z gałęzią.
$ hadoop fs -mkdir / tmp
Katalog tymczasowy „tmp” to tymczasowa lokalizacja do przechowywania pośredniego wyniku przetwarzania.
-> Ustaw uprawnienia do odczytu / zapisu w tych folderach.
$ hadoop fs -chmod g + w / user / hive / warehouse
$ hadoop fs -chmod g + w / user / tmp
-> Teraz uruchom HIVE za pomocą tego polecenia w konsoli
$ ul
Instalacja gałęzi z zewnętrznym magazynem metastore w systemie Linux
Warunki wstępne:
- Java 7
- Hadoop (patrz tutaj Instalacja Hadoop)
- Serwer i klient MySQL
Instalacja:
Krok 1: Pobierz najnowszy plik archiwum Hive ze strony pobierania .
Krok 2: Wyodrębnij pobrany plik archiwum ( Założenie: plik archiwum jest pobrany w $ HOME )
tar -xvf /home/username/apache-hive-x.y.z-bin.tar.gz
Krok 3: Zaktualizuj plik środowiska ( ~/.bashrc )
export HIVE_HOME=/home/username/apache-hive-x.y.z-bin
export PATH=$HIVE_HOME/bin:$PATH
źródło pliku, aby ustawić nowe zmienne środowiskowe.
source ~/.bashrc
Krok 4: Pobierz łącznik JDBC dla mysql stąd i rozpakuj go.
tar -xvf mysql-connector-java-a.b.c.tar.gz
Wyodrębniony katalog zawiera plik jar złącza mysql-connector-java-abcjar . Skopiuj go do lib $HIVE_HOME
cp mysql-connector-java-a.b.c.jar $HIVE_HOME/lib/
Konfiguracja:
Utwórz plik konfiguracyjny hive-site.xml w hive-site.xml $HIVE_HOME/conf/ i dodaj następujące właściwości związane z metastore.
<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>
Zaktualizuj odpowiednio wartości „nazwa użytkownika” i „hasło” MySQL we właściwościach.
Utwórz schemat Metastore:
Skrypty schematu metastore są dostępne pod $HIVE_HOME/scripts/metastore/upgrade/mysql/
Zaloguj się do MySQL i zgłoś 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;
Począwszy od Metastore:
hive --service metastore
Aby uruchomić go w tle,
nohup hive --service metastore &
Uruchamianie HiveServer2: (użyj w razie potrzeby)
hiveserver2
Aby uruchomić go w tle,
nohup hiveserver2 metastore &
Uwaga: Te pliki wykonywalne są dostępne pod $HIVE_HOME/bin/
Połączyć:
Użyj hive , beeline lub Hue, aby połączyć się z Hive.
Interfejs Hive CLI jest przestarzały, zaleca się użycie Beeline lub Hue.
Dodatkowe konfiguracje dla Barwy:
Zaktualizuj tę wartość w $HUE_HOME/desktop/conf/hue.ini
[beeswax]
hive_conf_dir=/home/username/apache-hive-x.y.z-bin/conf