Tutorial de HiveQL (Hive Query Language): operadores integrados

Tabla de contenido:

Anonim

¿Qué es HiveQL (Hive Query Language)?

Hive proporciona una CLI para escribir consultas de Hive mediante Hive Query Language (HiveQL). Generalmente, la sintaxis de HQL es similar a la sintaxis de SQL con la que están familiarizados la mayoría de los analistas de datos.

El lenguaje inspirado en SQL de Hive separa al usuario de la complejidad de la programación de Map Reduce. Reutiliza conceptos familiares del mundo de las bases de datos relacionales, como tablas, filas, columnas y esquemas, para facilitar el aprendizaje.

La mayoría de las interacciones tienden a tener lugar a través de una interfaz de línea de comandos (CLI). Hive proporciona una CLI para escribir consultas de Hive mediante Hive Query Language (Hive-QL).

Generalmente, la sintaxis de HiveQL es similar a la sintaxis SQL con la que están familiarizados la mayoría de los analistas de datos. Hive admite cuatro formatos de archivo que son TEXTFILE, SEQUENCEFILE, ORC y RCFILE (Record Columnar File).

  • Para el almacenamiento de metadatos de un solo usuario, Hive utiliza la base de datos derby y
  • Para el caso de metadatos de varios usuarios o metadatos compartidos, Hive usa MYSQL

Operadores integrados

Hive proporciona operadores integrados para que las operaciones de datos se implementen en las tablas presentes dentro del almacén de Hive.

Estos operadores se utilizan para operaciones matemáticas en operandos y devolverán un valor específico según la lógica aplicada.

Los tipos de operadores integrados en HIVE son:

  • Operadores relacionales
  • Operadores aritméticos
  • Operadores logicos
  • Operadores en tipos complejos
  • Constructores de tipo complejo

Operadores relacionales:

Usamos operadores relacionales para comparaciones de relaciones entre dos operandos.

  • Operadores como iguales, no iguales, menor que, mayor que… etc.
  • Los tipos de operandos son todos tipos de números en estos operadores.

La siguiente tabla nos dará detalles sobre los operadores relacionales y su uso.

Operador incorporado Descripción Operando
X = Y VERDADERO si la expresión X es equivalente a la expresión Y En caso contrario, FALSO. Toma todos los tipos primitivos
X! = Y VERDADERO si la expresión X no es equivalente a la expresión Y En caso contrario, FALSO. Toma todos los tipos primitivos
X VERDADERO si la expresión X es menor que la expresión Y En caso contrario, FALSO. Toma todos los tipos primitivos
X <= Y VERDADERO si la expresión X es menor o igual que la expresión Y En caso contrario, FALSO. Toma todos los tipos primitivos
X> Y VERDADERO si la expresión X es mayor que la expresión Y En caso contrario, FALSO. Toma todos los tipos primitivos
X> = Y VERDADERO si la expresión X es mayor o igual que la expresión Y En caso contrario, FALSO. Toma todos los tipos primitivos
X ES NULO TRUE si la expresión X se evalúa como NULL; de lo contrario, FALSE. Se necesitan todos los tipos
X NO ES NULO FALSE Si la expresión X se evalúa como NULL en caso contrario, TRUE. Se necesitan todos los tipos
X COMO Y VERDADERO Si el patrón de cadena X coincide con Y, de lo contrario, FALSO. Toma solo cadenas
X RLIKE Y NULL si X o Y es NULL, TRUE si alguna subcadena de X coincide con la expresión regular de Java Y, de lo contrario FALSE. Toma solo cadenas
X REGEXP Y Igual que RLIKE. Toma solo cadenas

Operadores aritméticos :

Usamos operadores aritméticos para realizar operaciones aritméticas en operandos.

  • Para operaciones aritméticas como suma, resta, multiplicación y división entre operandos usamos estos Operadores.
  • Todos los tipos de operandos son tipos de números en estos operadores

Ejemplo de muestra:

2 + 3 da el resultado 5.

En este ejemplo, '+' es el operador y 2 y 3 son operandos. El valor de retorno es 5

La siguiente tabla nos dará detalles sobre los operadores aritméticos.

Operador incorporado Descripción Operando
X + Y Devolverá el resultado de agregar el valor X e Y. Se necesitan todos los tipos de números
X - Y Devolverá el resultado de restar Y del valor X. Se necesitan todos los tipos de números
X * Y Devolverá el resultado de multiplicar los valores de X e Y. Se necesitan todos los tipos de números
X / Y Devolverá el resultado de dividir Y de X. Se necesitan todos los tipos de números
X% Y Devolverá el resto resultante de dividir X por Y. Se necesitan todos los tipos de números
X e Y Devolverá la salida de AND bit a bit de X e Y. Se necesitan todos los tipos de números
X | Y Devolverá la salida de bit a bit OR de X e Y. Se necesitan todos los tipos de números
X Y Devolverá la salida de XOR bit a bit de X e Y. Se necesitan todos los tipos de números
~ X Devolverá la salida bit a bit NO de X. Se necesitan todos los tipos de números

Operadores logicos:

Usamos operadores lógicos para realizar operaciones lógicas en operandos.

  • Las operaciones lógicas como Y, O, NO entre operandos usamos estos Operadores.
  • Todos los tipos de operandos son de tipo BOOLEANO en estos operadores

La siguiente tabla nos dará detalles sobre los operadores lógicos

Operadores Descripción Operandos
X Y Y VERDADERO si tanto X como Y son VERDADEROS, de lo contrario FALSO. Solo tipos booleanos
X && Y Igual que X e Y, pero aquí usamos el símbolo && Solo tipos booleanos
X O Y VERDADERO si X, Y o ambos son VERDADEROS, de lo contrario FALSO. Solo tipos booleanos
X || Y Igual que X O Y pero aquí usamos || símbolo Solo tipos booleanos
NO X VERDADERO si X es FALSO, de lo contrario FALSO. Solo tipos booleanos
!X Igual que NO X pero aquí usamos! símbolo Solo tipos booleanos

Operadores en tipos complejos:

La siguiente tabla nos dará detalles sobre los operadores de tipo complejo. Estos son operadores que proporcionarán un mecanismo diferente para acceder a elementos en tipos complejos.

Operadores Operandos Descripción
Un] A es una matriz yn es un tipo entero Devolverá el n-ésimo elemento en la matriz A. El primer elemento tiene un índice de 0
M [tecla] M es un mapa y la clave tiene el tipo K Devolverá los valores que pertenecen a la clave en el mapa.

Constructores de tipo complejo:

La siguiente tabla nos dará detalles sobre los constructores de tipo complejo. Construirá instancias sobre tipos de datos complejos. Se trata de tipos de datos complejos, como los tipos Array, Map y Struct en Hive.

En esta sección, vamos a ver las operaciones realizadas en Constructores de tipo Complejo.

Operadores Operandos Descripción
formación (val1, val2,…) Creará una matriz con los elementos dados como se menciona como val1, val2
Create_ union (etiqueta, val1, val2,…) Creará un tipo de unión con los valores que se mencionan en el parámetro de etiqueta
mapa (clave1, valor1, clave2, valor2,…) Creará un mapa con los pares clave / valor dados mencionados en los operandos
Estructura_namada (nombre1, val1, nombre2, val2,…) Creará una estructura con los nombres de campo dados y los valores mencionados en los operandos
ESTRUCTURA (val1, val2, val3,…) Crea una estructura con los valores de campo dados. Los nombres de los campos de estructura serán col1, col2,.

Resumen:

Hive proporciona algunas funciones y operadores incorporados para manipular los datos almacenados en el almacén de Hive. Hive es similar al lenguaje SQL, que admite todo tipo de operaciones de datos y consultas en tablas y bases de datos.