hive 之 Fetch Task功能

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>

</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;


猜你喜欢

转载自blog.csdn.net/lepton126/article/details/80281528