Principales comandos de Hive con ejemplos en HQL



Este blog analiza los comandos de Hive con ejemplos en HQL. CREATE, DROP, TRUNCATE, ALTER, SHOW, DESCRIBE, USE, LOAD, INSERT, JOIN y muchos más comandos de Hive

En esta publicación de blog, analicemos los principales comandos de Hive con ejemplos. Estos comandos de Hive son muy importantes para establecer las bases para .

¡La Guía de Carreras Técnicas Edureka 2019 ya está disponible! Los puestos de trabajo más destacados, rutas de aprendizaje precisas, perspectivas de la industria y más en la guía. Descargar ahora.

¿Qué es Hive?

Apache Hive es un sistema de almacenamiento de datos que está diseñado para funcionar en Hadoop. Se utiliza para consultar y administrar grandes conjuntos de datos que residen en almacenamiento distribuido. Antes de convertirse en un proyecto de código abierto de Apache Hadoop, Hive se originó en Facebook. Proporciona un mecanismo para proyectar la estructura sobre los datos en Hadoop y para consultar esos datos utilizando un lenguaje similar a SQL llamado HiveQL (HQL).





¿Por qué necesitamos la serialización en java?

Hive se usa porque las tablas de Hive son similares a las tablas de una base de datos relacional. Si está familiarizado con SQL, es pan comido. Muchos usuarios pueden consultar los datos simultáneamente mediante Hive-QL.

¿Qué es HQL?

Hive define un lenguaje de consulta simple similar a SQL para consultar y administrar grandes conjuntos de datos llamado Hive-QL (HQL). Es fácil de usar si está familiarizado con el lenguaje SQL. Hive permite a los programadores que están familiarizados con el lenguaje escribir el marco MapReduce personalizado para realizar análisis más sofisticados.



Usos de Hive:

1. El almacenamiento distribuido de Apache Hive.

2. Hive proporciona herramientas para facilitar la extracción, transformación y carga de datos (ETL)

3. Proporciona la estructura en una variedad de formatos de datos.



4. Al usar Hive, podemos acceder a los archivos almacenados en el Sistema de archivos distribuido de Hadoop (HDFS se utiliza para consultar y administrar grandes conjuntos de datos que residen en) o en otros sistemas de almacenamiento de datos como Apache HBase.

Limitaciones de Hive:

& bull Hive no está diseñado para el procesamiento de transacciones en línea (OLTP), solo se utiliza para el procesamiento analítico en línea.

& bull Hive admite la sobrescritura o la captura de datos, pero no actualiza ni elimina.

& bull En Hive, las subconsultas no son compatibles.

¿Por qué se utiliza Hive a pesar de Pig?

Las siguientes son las razones por las que se usa Hive a pesar de la disponibilidad de Pig:

  • Hive-QL es una línea de lenguaje declarativo SQL, PigLatin es un lenguaje de flujo de datos.
  • Pig: un lenguaje y entorno de flujo de datos para explorar conjuntos de datos muy grandes.
  • Hive: un almacén de datos distribuido.

Componentes de Hive:

Metastore:

Hive almacena el esquema de las tablas de Hive en un Metastore de Hive. Metastore se utiliza para almacenar toda la información sobre las tablas y particiones que se encuentran en el almacén. De forma predeterminada, el Metastore se ejecuta en el mismo proceso que el servicio Hive y el Metastore predeterminado es DerBy Database.

SerDe:

Serializer, Deserializer da instrucciones a Hive sobre cómo procesar un registro.

Comandos de Hive:

Lenguaje de definición de datos (DDL)

Las declaraciones DDL se utilizan para crear y modificar las tablas y otros objetos de la base de datos.

Comando DDL Función
CREAR Se utiliza para crear una tabla o base de datos.
SHOW Se utiliza para mostrar la base de datos, la tabla, las propiedades, etc.
AÑOS Se utiliza para realizar cambios en la tabla existente.
DESCRIBE Describe las columnas de la tabla
TRUNCAR Se utiliza para truncar y eliminar permanentemente las filas de la tabla.
ELIMINAR Elimina los datos de la tabla, pero se puede restaurar

Vaya al shell de Hive dando el comando sudo hive e ingrese el comando 'crear base de datos nombre> ’ para crear la nueva base de datos en Hive.

Crear una base de datos de Hive mediante comandos de Hive

Para enumerar las bases de datos en el almacén de Hive, ingrese el comando ' mostrar bases de datos '.

La base de datos se crea en una ubicación predeterminada del almacén de Hive. En Cloudera, la base de datos de Hive se almacena en un / usuario / colmena / almacén.

El comando para usar la base de datos es UTILIZAR

Copie los datos de entrada a HDFS desde local mediante el comando copiar desde local.

Cuando creamos una tabla en Hive, se crea en la ubicación predeterminada del almacén de Hive. - “/ usuario / colmena / almacén”, después de la creación de la tabla podemos mover los datos de HDFS a la tabla colmena.

El siguiente comando crea una tabla con la ubicación de '/user/hive/warehouse/retail.db'

Nota : retail.db es la base de datos creada en el almacén de Hive.

Describe proporciona información sobre el esquema de la tabla.

Lenguaje de manipulación de datos (DML)

Las declaraciones DML se utilizan para recuperar, almacenar, modificar, eliminar, insertar y actualizar datos en la base de datos.

Ejemplo:

LOAD, INSERT Sentencias.

Sintaxis:

CARGAR la ruta de entrada de datos en la tabla [tablename]

La operación de carga se utiliza para mover los datos a la tabla de Hive correspondiente. Si la palabra clave local se especifica, luego en el comando de carga dará la ruta del sistema de archivos local. Si no se especifica la palabra clave local, tenemos que usar la ruta HDFS del archivo.

A continuación se muestran algunos ejemplos del comando LOAD data LOCAL

Después de cargar los datos en la tabla de Hive, podemos aplicar las declaraciones de manipulación de datos o las funciones agregadas recuperan los datos.

Ejemplo para contar el número de registros:

La función de agregado de conteo se usa para contar el número total de registros en una tabla.

Tabla 'crear externa':

los crear externo La palabra clave se usa para crear una tabla y proporciona una ubicación donde se creará la tabla, de modo que Hive no use una ubicación predeterminada para esta tabla. Un EXTERNO La tabla apunta a cualquier ubicación HDFS para su almacenamiento, en lugar del almacenamiento predeterminado.

Insertar comando:

los insertar El comando se usa para cargar la tabla de Hive de datos. Las inserciones se pueden hacer en una tabla o una partición.

& bull INSERT OVERWRITE se utiliza para sobrescribir los datos existentes en la tabla o partición.

& bull INSERT INTO se utiliza para agregar los datos a los datos existentes en una tabla. (Nota: la sintaxis INSERT INTO funciona desde la versión 0.8)

Ejemplo de comando 'Particionado por' y 'Agrupado por':

'Particionado por 'Se utiliza para dividir la tabla en la partición y se puede dividir en depósitos mediante el' Agrupados por 'Comando.

Cuando insertamos los errores de lanzamiento de Hive de datos, el modo de partición dinámica es estricto y la partición dinámica no está habilitada (por Jeff a sitio web de Dresshead ). Por lo tanto, debemos establecer los siguientes parámetros en el shell de Hive.

establecer hive.exec.dynamic.partition = true

Para habilitar particiones dinámicas, de forma predeterminada, es falso

establecer hive.exec.dynamic.partition.mode = nonstrict

La partición se realiza por categoría y se puede dividir en depósitos mediante el comando 'Agrupado por'.

La declaración 'Drop Table' elimina los datos y metadatos de una tabla. En el caso de tablas externas, solo se eliminan los metadatos.

La declaración 'Drop Table' elimina los datos y metadatos de una tabla. En el caso de tablas externas, solo se eliminan los metadatos.

Cargue la ruta de acceso local de datos 'aru.txt' en la tabla tablename y luego verificamos la tabla employee1 usando el comando Seleccionar * del nombre de la tabla

Tutorial del servidor SQL para principiantes con ejemplos

Para contar el número de registros en la tabla usando Seleccionar contar(*) de txnrecords

Agregación :

Seleccione el recuento (categoría DISTINCT) del nombre de la tabla

Este comando contará las diferentes categorías de la tabla 'cate'. Aquí hay 3 categorías diferentes.

Suponga que hay otra categoría de tabla donde f1 es el nombre de campo de la categoría.

Agrupación:

El comando de grupo se utiliza para agrupar el conjunto de resultados por una o más columnas.

Seleccione categoría, suma (cantidad) de registros txt agrupados por categoría

Calcula la cantidad de la misma categoría.

El resultado de una tabla se almacena en otra tabla.

Crear tabla newtablename como seleccionar * de oldtablename

Unirse al comando:

Aquí se crea una tabla más en el nombre 'Mails'

Unirse a la operación :

Se realiza una operación de combinación para combinar campos de dos tablas mediante el uso de valores comunes a cada uno.

Izquierda combinación externa :

El resultado de una combinación externa izquierda (o simplemente combinación izquierda) para las tablas A y B siempre contiene todos los registros de la tabla 'izquierda' (A), incluso si la condición de combinación no encuentra ningún registro coincidente en la tabla 'derecha' (SEGUNDO).

Unión exterior derecha :

Una combinación externa derecha (o combinación derecha) se parece mucho a una combinación externa izquierda, excepto con el tratamiento de las tablas invertido. Cada fila de la tabla 'derecha' (B) aparecerá en la tabla unida al menos una vez.

Unión completa :

La tabla unida contendrá todos los registros de ambas tablas y completará los NULL para las coincidencias faltantes en cualquier lado.

Una vez hecho esto con hive, podemos usar el comando quit para salir del shell de hive.

Saliendo de Hive

Hive es solo una parte del gran rompecabezas llamado Big Data y Hadoop. Hadoop es mucho más que Hive. Haga clic a continuación para ver qué otras habilidades debe dominar en Hadoop.

Tienes una pregunta para nosotros? Menciónelo en la sección de comentarios y nos pondremos en contacto con usted.

Artículos Relacionados:

7 formas en las que la capacitación en Big Data puede cambiar su organización

Modelos de datos de Hive