02 - hive的操作符

目录

 二. 操作符 (Relational Operators)

2.1 关系操作符

2.2 算数运算符

2.3 逻辑运算符

2.4 复杂的运算符


 hive是基于Hadoop的一个数据仓库工具,用来进行数据提取、转化、加载,这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制。hive数据仓库工具能将结构化的数据文件映射为一张数据库表,并提供SQL查询功能,能将SQL语句转变成MapReduce任务来执行。Hive的优点是学习成本低,可以通过类似SQL语句实现快速MapReduce统计,使MapReduce变得更加简单,而不必开发专门的MapReduce应用程序。hive是十分适合数据仓库的统计分析和Windows注册表文件。

最近会给大家分享下自己之前整理的hive笔记, 如有错误还望指出;

hive官网: https://hive.apache.org/

wiki上的hive指南: https://cwiki.apache.org/confluence/display/Hive/GettingStarted

 

二. 操作符 (Relational Operators)

2.1 关系操作符

以下操作符比较操作数(operands)从而产生TRUE/FALSE值。 

运算符

操作数

描述

A = B

所有基本类型

如果表达A等于表达B,结果TRUE ,否则FALSE

A != B

所有基本类型

如果A不等于表达式B表达返回TRUE ,否则FALSE

A < B

所有基本类型

TRUE,如果表达式A小于表达式B,否则FALSE

A <= B

所有基本类型

TRUE,如果表达式A小于或等于表达式B,否则FALSE

A > B

所有基本类型

TRUE,如果表达式A大于表达式B,否则FALSE

A >= B

所有基本类型

TRUE,如果表达式A大于或等于表达式B,否则FALSE

A IS NULL

所有类型

TRUE,如果表达式的计算结果为NULL,否则FALSE

A IS NOT NULL

所有类型

FALSE,如果表达式A的计算结果为NULL,否则TRUE

A LIKE B

字符串

TRUE,如果字符串模式A匹配到B,否则FALSE。关系型数据库中的like功能。

A RLIKE B

字符串

如果A任何子字符串匹配Java正则表达式B;否则FALSE

A REGEXP B

字符串

等同于RLIKE.

示例1:
-- if(struct_col.name='Vincent1',1,0) 可以理解为 struct_col.name='Vincent1' ? 1 : 0
select if(struct_col.name='Vincent1',1,0),struct_col.name from complex where map_col['english'] like '%a%';
select if(struct_col.name='Vincent1',1,0),struct_col.name from complex where map_col['english'] RLIKE '\\S';
select if(struct_col.name='Vincent1',1,0),struct_col.name from complex where map_col['english1'] is null;
select if(struct_col.name='Vincent1',1,0),struct_col.name from complex where map_col['english'] is not null;

 

示例2:

select * from complex where map_col['english'] RLIKE '\\S';
select * from complex where map_col['english1'] is null;
select * from complex where 'hel666' RLIKE '\\d';
select * from complex where 'hel666' RLIKE '\\S';

 

2.2 算数运算符

这些运算符支持的操作数各种常见的算术运算。所有这些返回数字类型。
下表描述了在Hive中可用的算术运算符:

运算符

操作

描述

A + B

所有数字类型

AB的结果

A - B

所有数字类型

A减去B的结果

A * B

所有数字类型

A乘以B的结果

A / B

所有数字类型

A除以B的结果

A % B

所有数字类型

A除以B.产生的余数

A & B

所有数字类型

AB的按位与结果

A | B

所有数字类型

AB的按位或结果

A ^ B

所有数字类型

AB的按位异或结果

~A

所有数字类型

A按位非的结果

 

2.3 逻辑运算符

运算符是逻辑表达式。所有这些返回TRUE或FALSE。

运算符

操作

描述

A AND B

boolean

TRUE,如果AB都是TRUE,否则FALSE

A && B

boolean

类似于 A AND B.

A OR B

boolean

TRUE,如果AB或两者都是TRUE,否则FALSE

A || B

boolean

类似于 A OR B.

NOT A

boolean

TRUE,如果AFALSE,否则FALSE

!A

boolean

类似于 NOT A.

 

2.4 复杂的运算符

这些运算符提供一个表达式来接入复杂类型的元素。

运算符

操作

描述

A[n]

A是一个数组,n是一个int

它返回数组A的第n个元素,第一个元素的索引0

M[key]

是一个 Map<K, V>  key 的类型为K

它返回对应于映射中关键字的值。

S.x

是一个结构体

它返回Sx字段

 


原文地址: https://blog.csdn.net/DelevinData/article/details/107489579

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值