Fetch Task功能
一个简单的查询语句,是指一个没有函数、排序等功能的语句,当开启一个Fetch Task功能,就执行一个简单的查询语句不会生成MapRreduce作业,而是直接使用FetchTask,从hdfs文件系统中进行查询输出数据,从而提高效率。
配置方式
1、在hive提示符
set hive.fetch.task.conversion=more;
2、启动hive时,加入参数 ,形如 hive --hiveconf hive.fetch.tas.conversion=more
3、修改 hive-site.xml文件 ,加入属性,保存退出。
<property>
<name>hive.fetch.task.conversion</name>
<value>more</value>
select * from emp;
查询 员工号 姓名 月薪
select empno,ename,sal from emp;
查询 员工号 姓名 月薪 年薪 支持算术表达式
select empno,ename,sal,sal*12 from emp;
查询 员工号 姓名 月薪 年薪 奖金 年收入
select empno,ename,sal,sal*12,comm,sal*12+comm from emp;
nvl函数将null 转化为 数字 0
select empno,ename,sal,sal*12,comm,sal*12+nvl(comm,0) from emp;
查询 奖金为空的员工
select * from emp where comm=null; 错误的
select * from emp where comm is null;
使用distinct来去掉重复的记录
select deptno from emp;
select distinct depton from emp;
select distinct deptno,job from emp;
一个简单的查询语句,是指一个没有函数、排序等功能的语句,当开启一个Fetch Task功能,就执行一个简单的查询语句不会生成MapRreduce作业,而是直接使用FetchTask,从hdfs文件系统中进行查询输出数据,从而提高效率。
配置方式
1、在hive提示符
set hive.fetch.task.conversion=more;
2、启动hive时,加入参数 ,形如 hive --hiveconf hive.fetch.tas.conversion=more
3、修改 hive-site.xml文件 ,加入属性,保存退出。
<property>
<name>hive.fetch.task.conversion</name>
<value>more</value>
</property>
测试语句
可先行建表emp
hive>desc emp;
查询所有信息select * from emp;
查询 员工号 姓名 月薪
select empno,ename,sal from emp;
查询 员工号 姓名 月薪 年薪 支持算术表达式
select empno,ename,sal,sal*12 from emp;
查询 员工号 姓名 月薪 年薪 奖金 年收入
select empno,ename,sal,sal*12,comm,sal*12+comm from emp;
nvl函数将null 转化为 数字 0
select empno,ename,sal,sal*12,comm,sal*12+nvl(comm,0) from emp;
查询 奖金为空的员工
select * from emp where comm=null; 错误的
select * from emp where comm is null;
使用distinct来去掉重复的记录
select deptno from emp;
select distinct depton from emp;
select distinct deptno,job from emp;