gpt4 book ai didi

hadoop - 使用配置单元在大范围分区中选择数据

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

我使用 hive 在大范围分区中选择数据时出现了一些问题

这是我要执行的HQL:

INSERT OVERWRITE TABLE summary_T partition(DateRange='20131222-20131228')
select col1, col2, col3 From RAW_TABLE
where cdate between '20131222' and '20131228'
and (trim(col1) IS NULL or trim(col1)='')
and length(col2)=12;

“cdate”是表RAW_TABLE的分区

但给我工作编号后卡住了

一旦将其更改为:

INSERT OVERWRITE TABLE summary_T partition(DateRange='20131222-20131228')
select col1, col2, col3 From RAW_TABLE
where cdate between '20131222' and '20131225'
and (trim(col1) IS NULL or trim(col1)='')
and length(col2)=12;

然后开始工作

有什么解决方案可以帮助我执行第一个HQL?

感谢您的帮助!

最佳答案

我遇到了类似的问题,并尝试在SELECT语句的末尾使用CLUSTER BY 'partition_column'。使用它之后,我可以在更大的日期范围内执行INSERT。

因此,如果您将查询更改为:

INSERT OVERWRITE TABLE summary_T partition(DateRange='20131222-20131228')
select col1, col2, col3 From RAW_TABLE
where cdate between '20131222' and '20131228'
and (trim(col1) IS NULL or trim(col1)='')
and length(col2)=12
CLUSTER BY DateRange;

性能应提高。

有关CLUSTER BY如何帮助查询的说明,您可以浏览此手册页面,该页面对其进行了详细说明:

https://cwiki.apache.org/confluence/display/Hive/LanguageManual+SortBy

关于hadoop - 使用配置单元在大范围分区中选择数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21928377/

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