📜  HiveQL-运算符

📅  最后修改于: 2020-12-03 03:51:34             🧑  作者: Mango

HiveQL-运算子

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

Hive中的运算符示例

让我们创建一个表,并使用以下步骤将数据加载到其中:-

  • 选择我们要在其中创建表的数据库。
hive> use hql;  
  • 使用以下命令创建配置单元表:-
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中,算术运算运算符接受任何数字类型。常用的算术运算运算符为:-

Operators Description
A + B This is used to add A and B.
A – B This is used to subtract B from A.
A * B This is used to multiply A and B.
A / B This is used to divide A and B and returns the quotient of the operands.
A % B This returns the remainder of A / B.
A | B This is used to determine the bitwise OR of A and B.
A & B This is used to determine the bitwise AND of A and B.
A ^ B This is used to determine the bitwise XOR of A and B.
~A This is used to determine the bitwise NOT of 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和Haven之类的子句一起使用以比较现有记录。常用的关系运算符是:-

Operator Description
A=B It returns true if A equals B, otherwise false.
A <> B, A !=B It returns null if A or B is null; true if A is not equal to B, otherwise false.
A It returns null if A or B is null; true if A is less than B, otherwise false.
A>B It returns null if A or B is null; true if A is greater than B, otherwise false.
A<=B It returns null if A or B is null; true if A is less than or equal to B, otherwise false.
A>=B It returns null if A or B is null; true if A is greater than or equal to B, otherwise false.
A IS NULL It returns true if A evaluates to null, otherwise false.
A IS NOT NULL It returns false if A evaluates to null, otherwise true.

Hive中的关系运算符示例

  • 让我们看一个示例来获取薪金> = 25000的员工的详细信息。
hive> select * from employee where salary >= 25000;

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