【Hive】GROUP BY 执行原理-大数据开发高频面试题

   Hive 的执行原理是高频面试题。因为后面的调优或者数据倾斜的处理都是在对其执行原理清楚的基础上进行的。今天以 GROUP BY 为例讲解一下。

1.直观的角度

下表名叫 table1:

id name number
1 aaa 2
2 aaa 3
3 bbb 4
4 bbb 5
5 ccc 6
6 ddd 7
7 eee 7
8 bbb 5
9 ccc 6

如果执行下面的语句:

SELECT name
FROM table1
GROUP BY name;

容易得到结果:

name
aaa
bbb
ccc
ddd
eee

那么到底怎么执行的呢?我们先拆解一下这个过程。SQL 的执行顺序如下:

  1. FROM JOIN
  2. WHERE
  3. GROUP BY
  4. HAVING
  5. SELECT(窗口函数在这里执行)
  6. ORDER BY
  7. LIMIT

于是可以得到:

第一步,先执行 FROM table1,得到的还是原来的表:

id name n
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值