Comenzando con la colmena

Instalación de Hive (Linux)

Comience descargando la última versión estable de https://hive.apache.org/downloads.html

-> Ahora descomprima el archivo con

$ tar -xvf colmena-2.x.y-bin.tar.gz

-> Crear un directorio en /usr/local/ con

$ sudo mkdir /usr/local/colmena

-> Mover el archivo a la raíz con

$ mv ~/Descargas/colmena-2.x.y /usr/local/colmena

-> Editar variables de entorno para hadoop y hive en .bashrc

$ gedit ~/.bashrc

como esto

exportar HIVE_HOME=/usr/local/hive/apache-hive-2.0.1-bin/

exportación 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/*:.

-> Ahora, inicie hadoop si aún no se está ejecutando. Y asegúrese de que se esté ejecutando y no esté en modo seguro.

$ hadoop fs -mkdir /usuario/colmena/almacén

El directorio “almacén” es la ubicación para almacenar la tabla o los datos relacionados con la colmena.

$ hadoop fs-mkdir /tmp

El directorio temporal “tmp” es la ubicación temporal para almacenar el resultado intermedio del procesamiento.

-> Establecer permisos de lectura/escritura en esas carpetas.

$ hadoop fs -chmod g+w /usuario/colmena/almacén

$ hadoop fs -chmod g+w /usuario/tmp

-> Ahora enciende HIVE con este comando en la consola

$ colmena

Ejemplo de conteo de palabras en Hive

Archivo de documentos (archivo de entrada)

María tenía un corderito

su vellón era blanco como la nieve

y dondequiera que iba María

el cordero estaba seguro de ir.

Consulta de colmena

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;

Resultado de la tabla word_counts en Hive

María, 2

tenía, 1

un,1

pequeño, 1

cordero,2

es,1

vellón, 1

fue, 2

blanco, 1

como,1

nieve,1

y 1

en todas partes, 1

eso, 1

fui, 1

el,1

seguro, 1

a 1

ir, 1

Instalación de Hive con Metastore externo en Linux

Requisitos previos:

1.Java7 2. Hadoop (Consulte [aquí][1] para la instalación de Hadoop) 3. Servidor y Cliente Mysql

Instalación:

Paso 1: descargue el tarball de Hive más reciente desde la página de [descargas][2].

Paso 2: extraiga el tarball descargado (Suposición: El tarball se descarga en $HOME)

tar -xvf /home/username/apache-hive-x.y.z-bin.tar.gz

Paso 3: actualice el archivo de entorno (~/.bashrc)

export HIVE_HOME=/home/username/apache-hive-x.y.z-bin
export PATH=$HIVE_HOME/bin:$PATH

fuente el archivo para establecer las nuevas variables de entorno.

source ~/.bashrc

Paso 4: Descargue el conector JDBC para mysql desde [aquí][3] y extráigalo.

tar -xvf mysql-connector-java-a.b.c.tar.gz

El directorio extraído contiene el archivo jar del conector mysql-connector-java-a.b.c.jar. Cópialo en la lib de $HIVE_HOME

cp mysql-connector-java-a.b.c.jar $HIVE_HOME/lib/

Configuración:

Cree el archivo de configuración de Hive hive-site.xml en el directorio $HIVE_HOME/conf/ y agregue las siguientes propiedades relacionadas con 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>

Actualice los valores de “nombre de usuario” y “contraseña” de MySQL en consecuencia en las propiedades.

Crear el Esquema Metastore:

Los scripts del esquema de metastore están disponibles en $HIVE_HOME/scripts/metastore/upgrade/mysql/

Inicie sesión en MySQL y obtenga el esquema,

mysql -u username -ppassword

mysql> create database hive_meta;
mysql> use hive_meta;
mysql> source hive-schema-x.y.z.mysql.sql;
mysql> exit;

Iniciando Metastore:

hive --service metastore

Para ejecutarlo en segundo plano,

nohup hive --service metastore &

Iniciando HiveServer2: (Utilizar si es necesario)

hiveserver2

Para ejecutarlo en segundo plano,

nohup hiveserver2 metastore &

Nota: Estos ejecutables están disponibles en $HIVE_HOME/bin/

Conectar:

Use hive, beeline o [Hue][4] para conectarse con Hive.

Hive CLI está en desuso, se recomienda usar Beeline o Hue.

Configuraciones adicionales para Hue:

Actualice este valor en $HUE_HOME/desktop/conf/hue.ini

[beeswax] 
    hive_conf_dir=/home/username/apache-hive-x.y.z-bin/conf

[1]: https://www.wikiod.com/es/hadoop/primeros-pasos-con-hadoop#Instalación o configuración en Linux [2]: https://hive.apache.org/downloads.html [3]: https://dev.mysql.com/downloads/connector/j/ [4]: https://www.wikiod.com/es/hadoop/matiz#Instalación de Hue en Ubuntu