2021-04-29

1.在列表名中使用正则表达式
eg.在员工中选择一n开头的列
select n.* from employee;
...符号在esc键下
2.如果想要使用不同的列名,那么可以使用别名
eg. select name as na from employee
(name是employee表中的列,na是name的别名)
3.嵌套使用select
eg.select id from (select id,name from employee) a ;
select * from emp where id in (select id from employee);
4.order by:以倒叙或顺序来排列数据
order by命令总是仅仅使用一个reducer去排序
如果hive仅仅使用一个reducer,那么sort by 和order by作用一样。
5.如果排序通过多个reducers,那么它将无法完整排序
因为sort by 排序是在reducer里面排序,因此如果使用一个reducer,它将对数据进行完全排序,如果使用多个reducer,则将不会对数据进行完全排列。
select * from order_tab sort by order_no;
set mapreduce.job.reduces=2;
在这里插入图片描述
distribute by语句用于将数据分发给reducer并且将在reducer里用sort by进行排序(一般是用2个reducer,因为是奇偶分区)
select * from order_tab distribute by order_no;
select * from order_tab distribute by sort by order_no;
cluster by = distribute by sort by
select * from order_tab cluster by order_no;
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值