Hive - Built-in Operators

Hive - Built-in Operators - myTechMint

There are four types of operators in Hive:




  • Relational Operators

  • Arithmetic Operators

  • Logical Operators

  • Complex Operators


Relational Operators


These operators are used to compare two operands. The following table describes the relational operators available in Hive:


































































OperatorOperandDescription
A = Ball primitive typesTRUE if expression A is equivalent to expression B otherwise FALSE.
A != Ball primitive typesTRUE if expression A is not equivalent to expression B otherwise FALSE.
A < Ball primitive typesTRUE if expression A is less than expression B otherwise FALSE.
A <= Ball primitive typesTRUE if expression A is less than or equal to expression B otherwise FALSE.
A > Ball primitive typesTRUE if expression A is greater than expression B otherwise FALSE.
A >= Ball primitive typesTRUE if expression A is greater than or equal to expression B otherwise FALSE.
A IS NULLall typesTRUE if expression A evaluates to NULL otherwise FALSE.
A IS NOT NULLall typesFALSE if expression A evaluates to NULL otherwise TRUE.
A LIKE BStringsTRUE if string pattern A matches to B otherwise FALSE.
A RLIKE BStringsNULL if A or B is NULL, TRUE if any substring of A matches the Java regular expression B , otherwise FALSE.
A REGEXP BStringsSame as RLIKE.

Example


Let us assume the employee table is composed of fields named Id, Name, Salary, Designation, and Dept as shown below. Generate a query to retrieve the employee details whose Id is 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|
+-----+--------------+--------+---------------------------+------+

The following query is executed to retrieve the employee details using the above table:



hive> SELECT * FROM employee WHERE Id=1205;

On successful execution of query, you get to see the following response:



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

The following query is executed to retrieve the employee details whose salary is more than or equal to Rs 40000.



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

On successful execution of query, you get to see the following response:



+-----+------------+--------+----------------------------+------+
| 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 |
+-----+------------+--------+----------------------------+------+

Arithmetic Operators


These operators support various common arithmetic operations on the operands. All of them return number types. The following table describes the arithmetic operators available in Hive:
























































OperatorsOperandDescription
A + Ball number typesGives the result of adding A and B.
A - Ball number typesGives the result of subtracting B from A.
A * Ball number typesGives the result of multiplying A and B.
A / Ball number typesGives the result of dividing B from A.
A % Ball number typesGives the reminder resulting from dividing A by B.
A & Ball number typesGives the result of bitwise AND of A and B.
A | Ball number typesGives the result of bitwise OR of A and B.
A ^ Ball number typesGives the result of bitwise XOR of A and B.
~Aall number typesGives the result of bitwise NOT of A.

Example


The following query adds two numbers, 20 and 30.



hive> SELECT 20+30 ADD FROM temp;

On successful execution of the query, you get to see the following response:



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

Logical Operators


The operators are logical expressions. All of them return either TRUE or FALSE.









































OperatorsOperandsDescription
A AND BbooleanTRUE if both A and B are TRUE, otherwise FALSE.
A && BbooleanSame as A AND B.
A OR BbooleanTRUE if either A or B or both are TRUE, otherwise FALSE.
A || BbooleanSame as A OR B.
NOT AbooleanTRUE if A is FALSE, otherwise FALSE.
!AbooleanSame as NOT A.

Example


The following query is used to retrieve employee details whose Department is TP and Salary is more than Rs 40000.



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

On successful execution of the query, you get to see the following response:



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

Complex Operators


These operators provide an expression to access the elements of Complex Types.


























OperatorOperandDescription
A[n]A is an Array and n is an intIt returns the nth element in the array A. The first element has index 0.
M[key]M is a Map<K, V> and key has type KIt returns the value corresponding to the key in the map.
S.xS is a structIt returns the x field of S.

Comments