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;