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:

  1. Java 7
  2. Hadoop (patrz tutaj Instalacja Hadoop)
  3. 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


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow