HiveQL 运算符
HiveQL运算符有助于执行各种算术和关系运算。 在这里,我们将对下表的记录执行此类操作:

在Hive中的操作符示例
让我们通过以下步骤创建一个表并将数据加载到其中:
- 选择要创建表的数据库。
hive> use hql;
- 使用以下命令创建Hive表: –
hive> create table employee (Id int, Name string , Salary float)
row format delimited
fields terminated by ',' ;
- 现在,将数据加载到表中。
hive> load data local inpath '/home/codegyani/hive/emp_data' into table employee;
- 让我们使用以下命令获取加载的数据:-
hive> select * from employee;

现在,我们讨论Hive中的算术运算符和关系运算符,附带相应的示例。
在Hive中的算术运算符
Hive中的算术运算符接受任何数值类型。常用的算术运算符有:-
| 运算符 | 描述 |
|---|---|
| A + B | 用于将A和B相加。 |
| A – B | 用于从A中减去B。 |
| A * B | 用于将A和B相乘。 |
| A / B | 用于将A除以B,并返回操作数的商。 |
| A % B | 返回A / B的余数。 |
| A | B | 用于确定A和B的按位或。 |
| A & B | 用于确定A和B的按位与。 |
| A ^ B | 用于确定A和B的按位异或。 |
| ~A | 用于确定A的按位非。 |
在Hive中算术操作符的示例
- 让我们来看一个示例,将每个员工的薪水增加50。
hive> select id, name, salary + 50 from employee;

- 让我们来看一个示例,将每位员工的工资降低50%。
hive> select id, name, salary - 50 from employee;

- 让我们看一个示例,找出每个员工的薪水的10%。
hive> select id, name, (salary * 10) /100 from employee;

Hive中的关系运算符
在Hive中,关系运算符通常与Join和Having等子句一起使用,对现有记录进行比较。常用的关系运算符有: –
| 运算符 | 描述 |
|---|---|
| A=B | 如果A等于B,则返回true,否则返回false。 |
| A <> B, A !=B | 如果A或B为null,则返回null;如果A不等于B,则返回true,否则返回false。 |
| A<B | 如果A或B为null,则返回null;如果A小于B,则返回true,否则返回false。 |
| A>B | 如果A或B为null,则返回null;如果A大于B,则返回true,否则返回false。 |
| A<=B | 如果A或B为null,则返回null;如果A小于或等于B,则返回true,否则返回false。 |
| A>=B | 如果A或B为null,则返回null;如果A大于或等于B,则返回true,否则返回false。 |
| A IS NULL | 如果A的值为null,则返回true,否则返回false。 |
| A IS NOT NULL | 如果A的值不为null,则返回true,否则返回false。 |
Hive中关系运算符的示例
- 让我们看一个示例,来获取薪水大于等于25000的员工的详细信息。
hive> select * from employee where salary >= 25000;

- 让我们看一个示例,获取薪水<25000的员工的详细信息。
hive> select * from employee where salary < 25000;

极客笔记