配置单元限制更改按结果分组

8zzbczxx  于 2021-06-25  发布在  Hive
关注(0)|答案(0)|浏览(137)
SELECT `col1`
     , `col2`
     , count(*)
FROM `tab1`
GROUP BY `col1`
       , `col2`
limit 10;

+-------+-------+--------+
| col1  | col2  |  _c2   |
+-------+-------+--------+
| A     | A     | 1      |
| A     | B     | 34241  |
| A     | C     | 12345  |
| A     | D     | 145    |
| A     | E     | 26     |
| A     | F     | 224547 |
| B     | A     | 1429   |
| B     | B     | 25     |
| B     | C     | 94     |
| B     | D     | 1      |
+-------+-------+--------+

如果我从中获取一个结果,并对该组合执行特定查询,则结果会更改。

SELECT `col1`
     , `col2`
     , count(*)
FROM `tab1`
WHERE `col1`='A'
AND   `col2`='B'
GROUP BY `col1`
       , `col2`;

+-------+-------+--------+
| col1  | col2  |  _c2   |
+-------+-------+--------+
| A     | B     | 38944  |
+-------+-------+--------+

如果我跑了 set hive.map.aggr=true; 然后我得到一个不同的计数,介于两者之间。
你知道为什么或者怎么解决吗?
如果我对运行相同的查询 LIMIT 20 然后它给出了正确的计数。或者,我应该说,和 WHERE 询问,我还没有亲自数过,以检查是否正确!

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题