gpt4 book ai didi

hadoop - 配置单元查询不适用于3个以上的分区

转载 作者:行者123 更新时间:2023-12-02 21:47:52 24 4
gpt4 key购买 nike

以下是我的 hive 查询

'select substr(ltrim(date_ts),0,10) date_ts,
sum(if(col1 = 'type1', 1, 0)) as type_1,
sum(if(col1 = 'type2', 1, 0)) as type_2,
sum(if(col1 = 'type3', 1, 0)) as type_3
from table1
GROUP BY substr(ltrim(date_ts),0,10)
ORDER BY date_ts;'

我的表1(外部表)被分区为(年字符串,月字符串,日字符串)

下面是我的分区
'year='2010',month='01',day='01'
year='2010',month='01',day='02'
year='2010',month='01',day='03'
year='2010',month='01',day='04''

如果我在3个或更少的分区上运行查询,查询将完全正常。当我添加第四个分区时,它只会卡在map = 92%处。无法弄清楚原因。它正在处理任意3个分区的组合。我不知道以前是否有人遇到过这个问题。

我能够得到以下输出。
' date        | type1  | type2     |type3 |
------------------------------------------
2011-10-01 | 1 | 0 | 0 |
2011-10-02 | 1 | 0 | 0 |
2011-10-03 | 0 | 1 | 1 |'

当我为第四天添加第4个分区时, map 停留在90%左右,即使经过1到2个小时,它也保持不变。

预期输出
' date        | type1  | type2     |type3 |
------------------------------------------
2011-10-01 | 1 | 0 | 0 |
2011-10-02 | 1 | 0 | 0 |
2011-10-03 | 0 | 1 | 1 |
2011-10-05 | 0 | 1 | 0 |'

有什么建议吗?

最佳答案

四个分区是什么?看一看是否最终

__DEFAULT_PARTITION

这意味着您在partition列中具有空值。这导致偏斜,从而导致..缓慢。

这该怎么做:
use <your_database>;
show partitions table table1;

关于hadoop - 配置单元查询不适用于3个以上的分区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23665690/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com