大数据技术之Hive (三)

栏目:装饰 来源:化妆品行业网 时间:2019-08-14

继上一篇大数据技术之Hive (二),今天更新第三篇,本篇主要分享Hive的查询和函数。


基本查询(Select...From)


全表查询
hive (default)> select * from emp;


选择特定列查询
hive (default)> select empno, ename from emp;


注意:
1SQL 语言大小写不敏感

2SQL 可以写在一行或者多行 

3)关键字不能被缩写也不能分行

4)各子句一般要分行写

5)使用缩进提高语句的可读性


列别名


重命名一个列,紧跟列名,也可以在列名和别名之间加入关键字‘AS’

hive (default)> select ename AS name, deptno dn from emp;


算术运算符


例如

hive (default)> select sal +1 from emp;


常用函数


求总行数(count)
hive (default)> select count(*) cnt from emp;


求工资的最大值(max)
hive (default)> select max(sal) max_sal from emp;


求工资的最小值(min)
hive (default)> select min(sal) min_sal from emp;


求工资的总和(sum)
hive (default)> select sum(sal) sum_sal from emp;


求工资的平均值(avg)
hive (default)> select avg(sal) avg_sal from emp;


Limit 语句


典型的查询会返回多行数据,LIMIT 子句用于限制返回的行数

hive (default)> select * from emp limit 5;


Where 语句


1、使用 WHERE 子句,将不满足条件的行过滤掉

2、WHERE 子句紧随 FROM 子句


查询出薪水大于 1000 的所有员工

hive (default)> select * from emp where sal >1000;


比较运算符(Between/In/ Is Null)


下面表中描述了谓词操作符,这些操作符同样可以用于 JOIN...ON 和 HAVING 语句中。



1、查询出薪水等于 5000 的所有员工

hive (default)> select * from emp 

where sal =5000;


2、查询工资在 500 到 1000 的员工信息

hive (default)> select * from emp where sal between 500 and 1000;


3、查询 comm 为空的所有员工信息

hive (default)> select * from emp where comm is null;


4、查询工资是 1500 和 5000 的员工信息

hive (default)> select * from emp where sal IN (1500, 5000);


Like 和 RLike


1、使用 LIKE 运算选择类似的值


2、选择条件可以包含字符或数字:

        % 代表零个或多个字符(任意个字符)

        _ 代表一个字符。


3RLIKE 子句是 Hive 中这个功能的一个扩展,其可以通过 Java 的正则表达式这个更强大 的语言来指定匹配条件。


4、

相关文章
评论
新版评论功能开发中
头条推荐
最新资讯