Hive - Funcin de Operadores



Este captulo explica los operadores de colmena. Hay cuatro tipos de operadores en Colmena:

  • Operadores relacionales
  • Los operadores aritmticos
  • Los operadores lgicos
  • Los operadores complejos

Operadores relacionales

Estos operadores se utilizan para comparar dos operandos. La siguiente tabla describe los operadores relacionales disponible en seccin:

El Operador Operando Descripcin
A = B Todos los tipos primitivos TRUE si expresin de A es equivalente a la expresin B en caso contrario, FALSE.
A != B Todos los tipos primitivos TRUE si una expresin de A no es equivalente a la expresin B en caso contrario, FALSE.
A < B Todos los tipos primitivos TRUE si expresin de A es una expresin menos de B en caso contrario, FALSE.
<= B Todos los tipos primitivos TRUE si la expresin de A es menor o igual a la expresin B FALSE de lo contrario.
A > B Todos los tipos primitivos TRUE si expresin de A es mayor que expression B en caso contrario, FALSE.
A >= B Todos los tipos primitivos TRUE si la expresin A es mayor o igual a la expresin B en caso contrario, FALSE.
A ES NULO Todos los tipos TRUE si expresin de A evala a NULL en caso contrario, FALSE.
A NO ES NULA. Todos los tipos FALSE si A expresin de A se evala a NULL en caso contrario.
A COMO B Cadenas TRUE, si la cadena coincide con A patrn a B en caso contrario, FALSE.
A RLIKE B Cadenas NULL si A o B es nulo, TRUE si cualquier subcadena de una coincida con la expresin regular Java B , en caso contrario, FALSE.
A REGEXP B Cadenas Igual que RLIKE.

Ejemplo

Supongamos que el empleado tabla se compone de campos denominado Id, Nombre, sueldo, designacin, y Depto. como se muestra a continuacin. Generar una consulta para recuperar los detalles de empleado cuyo Id es 1205.

+-----+--------------+--------+---------------------------+------+
| Id  | Name         | Salary | Designation               | Dept |
+-----+--------------+------------------------------------+------+
|1201 | Gopal        | 45000  | Technical manager         | TP   |
|1202 | Manisha      | 45000  | Proofreader               | PR   |
|1203 | Masthanvali  | 40000  | Technical writer          | TP   |
|1204 | Krian        | 40000  | Hr Admin                  | HR   |
|1205 | Kranthi      | 30000  | Op Admin                  | Admin|
+-----+--------------+--------+---------------------------+------+

La siguiente consulta se ejecuta para recuperar detalles del empleado utilizando la tabla anterior:

hive> SELECT * FROM employee WHERE Id=1205;

El xito de la ejecucin de la consulta, se llega a ver la siguiente respuesta:

+-----+-----------+-----------+----------------------------------+
| ID  | Name      | Salary    | Designation              | Dept  |
+-----+---------------+-------+----------------------------------+
|1205 | Kranthi   | 30000     | Op Admin                 | Admin |
+-----+-----------+-----------+----------------------------------+

La siguiente consulta se ejecuta para recuperar detalles del empleado cuyo salario es mayor o igual a 40000 Rs.

hive> SELECT * FROM employee WHERE Salary>=40000;

El xito de la ejecucin de la consulta, se llega a ver la siguiente respuesta:

+-----+------------+--------+----------------------------+------+
| ID  | Name       | Salary | Designation                | Dept |
+-----+------------+--------+----------------------------+------+
|1201 | Gopal      | 45000  | Technical manager          | TP   |
|1202 | Manisha    | 45000  | Proofreader                | PR   |
|1203 | Masthanvali| 40000  | Technical writer           | TP   |
|1204 | Krian      | 40000  | Hr Admin                   | HR   |
+-----+------------+--------+----------------------------+------+

Los operadores aritmticos

Estos operadores admiten diferentes las operaciones aritmticas comunes de los operandos. Todos ellos volver tipos de nmero de telfono. La siguiente tabla describe los operadores aritmticos disponible en seccin:

Los operadores Operando Descripcin
A + B Todos tipos de nmero Da el resultado de sumar A y B.
A - B Todos tipos de nmero Da el resultado de restar B de A.
A * B Todos tipos de nmero Da el resultado de multiplicar A y B.
A / B Todos tipos de nmero Indica el resultado de la divisin B de A.
UN % DE B Todos tipos de nmero Da el aviso que resulte de dividir A por B.
A & B Todos tipos de nmero Da como resultado AND bit a bit de A y B.
A | B Todos tipos de nmero Da el resultado de operacin or bit a bit de A y B.
^ UN B Todos tipos de nmero Da como resultado XOR bit a bit de A y B.
~ Todos tipos de nmero Da como resultado NO bit de A.

Ejemplo

La consulta siguiente agrega dos nmeros, 20 y 30.

hive> SELECT 20+30 ADD FROM temp;

El xito de la ejecucin de la consulta, se llega a ver la siguiente respuesta:

+--------+
|   ADD  |
+--------+
|   50   |
+--------+

Los operadores lgicos

Los operadores son expresiones lgicas. Todos ellos devolver TRUE o FALSE.

Los operadores Operandos Descripcin
A Y B Boolean TRUE si tanto A como B son verdaderos, o FALSE de lo contrario.
EL && B Boolean Igual que A Y B.
A O B Boolean TRUE si A o B o ambos son verdaderos, en caso contrario, FALSE.
A || B Boolean Igual que A O B.
NO A Boolean TRUE si A es FALSO, en caso contrario, FALSE.
!A Boolean Mismo que NO A.

Ejemplo

La siguiente consulta se utiliza para recuperar detalles de empleado cuyo Departamento es TP y el sueldo es ms que Rs 40000.

hive> SELECT * FROM employee WHERE Salary>40000 && Dept=TP;.

El xito de la ejecucin de la consulta, se llega a ver la siguiente respuesta:

+------+--------------+-------------+-------------------+--------+
| ID   | Name         | Salary      | Designation       | Dept   |
+------+--------------+-------------+-------------------+--------+
|1201  | Gopal        | 45000       | Technical manager | TP     |
+------+--------------+-------------+-------------------+--------+

Los operadores complejos

Estos operadores ofrecen una expresin para acceder a los elementos de los tipos complejos.

El Operador Operando Descripcin
A[n] A es una matriz y n es un int Devuelve el n-simo elemento de la matriz A. El primer elemento tiene el ndice 0.
M[clave] M es un Map<K, V> y la llave es de tipo K Devuelve el valor correspondiente a la clave en el mapa.
S. x S es una estructura Devuelve el campo x de S.
Advertisements