Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hive 配置单元限制更改按结果分组_Hive_Aggregate_Hiveql - Fatal编程技术网

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

Hive 配置单元限制更改按结果分组,hive,aggregate,hiveql,Hive,Aggregate,Hiveql,如果我从中获取一个结果,并对该组合进行特定查询,结果会发生变化 SELECT `col1` , `col2` , count(*) FROM `tab1` GROUP BY `col1` , `col2` limit 10; +-------+-------+--------+ | col1 | col2 | _c2 | +-------+-------+--------+ | A | A | 1 | | A | B

如果我从中获取一个结果,并对该组合进行特定查询,结果会发生变化

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      |
+-------+-------+--------+
如果我运行
设置hive.map.aggr=true然后我得到一个不同的计数,介于两者之间

你知道为什么或者如何修复吗


如果使用
LIMIT 20
运行相同的查询,那么它将给出正确的计数。或者,我应该说,与
WHERE
查询相同的计数,我没有亲自计算它们来检查它是否正确

这可能更适合dba.stackexchange.com,因此如果我在这里运气不好,我可能会删除并重新发布。目前我的解决方法是添加
HAVING count(*)>0
这可能是统计数据的问题:
SELECT `col1`
     , `col2`
     , count(*)
FROM `tab1`
WHERE `col1`='A'
AND   `col2`='B'
GROUP BY `col1`
       , `col2`;

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