本文介绍hive的内置操作。
Hive共有四种内置操作,如下:
1.Relational Operators 关系运算符
2.Arithmetic Operators 算术运算符
3.Logical Operators 逻辑运算符
4.Complex Operators 复杂的操作
Relational Operators 关系运算符
关系运算符被用来比较两个操作数。下表描述了hive的关系运算符:
A = B 所有原始类型
A != B 所有原始类型
A< B 所有原始类型
A< = B 所有原始类型
A> B 所有原始类型
A> = B 所有原始类型
A IS NULL 所有类型
A IS NOT NULL 所有类型
A LIKE B 字符串
A RLIKE B 字符串
A REGEXP B 字符串RLIKE一样。
假设employee表有Id、姓名、工资、名称和部门5个字段,生成一个查询来检索employee的Id是1205的记录。
hive> SELECT * FROM employee WHERE Id=1205;
hive> SELECT * FROM employee WHERE Salary>=40000;
Arithmetic Operators 算术运算符
这些操作符支持各种常见的算术运算的操作数。所有的返回类型都是number类型。下表描述了hive的算术运算符:
A + B 所有的数值类型。
A - B 所有的数值类型。
A * B 所有的数值类型。
A / B 所有的数值类型。
A%B 所有的数值类型。
A&B 所有的数值类型。
A|B 所有的数值类型。
A^ B 所有的数值类型。
~A 所有的数值类型。
例子:hive> SELECT 20+30 ADD FROM temp;
输出:50
Logical Operators 逻辑运算符
A AND B boolean TRUE if both A and B are TRUE, otherwise FALSE.
A && B boolean Same as A AND B.
A OR B boolean TRUE if either A or B or both are TRUE, otherwise FALSE.
A || B boolean Same as A OR B.
NOT A boolean TRUE if A is FALSE, otherwise FALSE.
!A boolean Same as NOT A.
例子:
hive> SELECT * FROM employee WHERE Salary>40000 && Dept=TP;
Complex Operators 复杂的操作
包括三种:Array Map object(也可以是json格式) 操作和java中类似.