语法结构
注意
hive查询语法剖析
- order by 全局排序,只有一个reduceTask,如果数据量太大的话,那么就会导致数据处理速度非常慢
- sort by 有多个reduceTask只保证每个reduceTask里面的数据有序,两个reduceTask之间的数据无序
- distributed by 根据指定的字段,按照指定的字段进行 hash算法,确定我们的数据要去往哪里一个reduce
- cluster by :除了具有distributed by的功能,还会对这个字段今夕排序
hive的group bu 语法
select的字段 只能少于等于group by的字段
基础查询
group by hive与mysql的区别
hive的group by语法,group by的阻断需要在select跟上该字段或者不跟,但是不能加不在group by后面的字段,select的字段 只能少于等于group by的字段
hive:
select avg(s_score) from score group by s_id;```
select的字段只能总group by 的字段挑选
==mysql==: 是没有这个限制的 ```select * from score group by s_id;```
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210709145409879.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ExMzgxMzk3MjU2NA==,size_16,color_FFFFFF,t_70)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210709145535103.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ExMzgxMzk3MjU2NA==,size_16,color_FFFFFF,t_70)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210709145734639.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ExMzgxMzk3MjU2NA==,size_16,color_FFFFFF,t_70)
==表join 杜绝使用not in 来做where查询
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210709145959193.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ExMzgxMzk3MjU2NA==,size_16,color_FFFFFF,t_70)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210709150248566.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ExMzgxMzk3MjU2NA==,size_16,color_FFFFFF,t_70)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210709150455603.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ExMzgxMzk3MjU2NA==,size_16,color_FFFFFF,t_70)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210709150633378.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ExMzgxMzk3MjU2NA==,size_16,color_FFFFFF,t_70)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210709150806554.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ExMzgxMzk3MjU2NA==,size_16,color_FFFFFF,t_70)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210709150925486.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ExMzgxMzk3MjU2NA==,size_16,color_FFFFFF,t_70)distributed by 按照某个字段进行MR的第三步的分区,确定我们的数据要去往哪一个reducetask里面去
sort by 按照某一个字段进行reduce内部的数据的排序
如果distributed by 的字段与sort by的字段一样 那么久可以用clustered by来替代