s*****t 发帖数: 119 | 1 下面两个HIVE query做同一件事情,请问那个query更efficient?假设在Map Reduce的
frame work 下
Query 1:
select id, count(distinct value) values
from table1
group by id;
Query 2:
select a.id, sum(1) values
from
(select distinct id, value
from table1
)a
group by a.id
;
另外请有哪本书或视频讲HIVE的query efficiency吗 |
T*******x 发帖数: 8565 | 2 这两个逻辑相等吗?
【在 s*****t 的大作中提到】 : 下面两个HIVE query做同一件事情,请问那个query更efficient?假设在Map Reduce的 : frame work 下 : Query 1: : select id, count(distinct value) values : from table1 : group by id; : Query 2: : select a.id, sum(1) values : from : (select distinct id, value
|
s*****t 发帖数: 119 | 3 如果假设id和value没有null,结果应该是一样的吧?
【在 T*******x 的大作中提到】 : 这两个逻辑相等吗?
|
T*******x 发帖数: 8565 | 4 哦。是的。
【在 s*****t 的大作中提到】 : 如果假设id和value没有null,结果应该是一样的吧?
|
T*******x 发帖数: 8565 | 5 我觉得1会快一些,因为2中的subquery本身就需要一次MapReduce,所以2需要两次
MapReduce,而1只需要1次。
不过Hive到底是怎样把query转换成MapReduce的,我也不是很清楚。但是这两个query
如果自己写MapReduce实现的话,好像应该是这样。
【在 s*****t 的大作中提到】 : 下面两个HIVE query做同一件事情,请问那个query更efficient?假设在Map Reduce的 : frame work 下 : Query 1: : select id, count(distinct value) values : from table1 : group by id; : Query 2: : select a.id, sum(1) values : from : (select distinct id, value
|
s*****t 发帖数: 119 | 6 嗯 有道理 我也比较疑惑
这是一道面试题 我先答的1,面试官问有没有其他更efficient的解法
我说可以用2做,但不知道是不是更efficient
面试官提示说,可以考虑一下哪些特定情况哪个更好些
最后还是没答上来,对底层的MapReduce还是不熟
query
【在 T*******x 的大作中提到】 : 我觉得1会快一些,因为2中的subquery本身就需要一次MapReduce,所以2需要两次 : MapReduce,而1只需要1次。 : 不过Hive到底是怎样把query转换成MapReduce的,我也不是很清楚。但是这两个query : 如果自己写MapReduce实现的话,好像应该是这样。
|