Hadoop 如何使用动态分区优化表上的配置单元查询
我必须根据Hadoop 如何使用动态分区优化表上的配置单元查询,hadoop,hive,Hadoop,Hive,我必须根据resultdate字段中的日期和小时对表进行分区,该字段的格式为2/5/2013 9:24:00 AM 我正在使用带有日期和时间的动态分区,并执行 insert overwrite table partition(date, hour) { select x,y,z, date , hour } from table 1. 我有大约150万条记录,大约需要4个小时才能完成。这是否正常,有哪些优化方法?增加群集大小,否则会花费大量时间。这不正常,除非您在具有1个节点的虚拟机中工作:)
resultdate
字段中的日期和小时对表进行分区,该字段的格式为2/5/2013 9:24:00 AM
我正在使用带有日期和时间的动态分区,并执行
insert overwrite table partition(date, hour)
{
select x,y,z, date , hour
}
from table 1.
我有大约150万条记录,大约需要4个小时才能完成。这是否正常,有哪些优化方法?增加群集大小,否则会花费大量时间。这不正常,除非您在具有1个节点的虚拟机中工作:)。。尝试设置此标志
set hive.optimize.sort.dynamic.partition=false;
我不知道为什么在某些发行版中默认设置为true。有很多这样的场景
- 检查是否可以使用TEZ引擎来缩短执行时间
- 无论我们存储文件的方式是否可以更改,RC格式可能会有所帮助
- 将hive.exec.max.dynamic.partitions&hive.exec.max.dynamic.partitions优化为最佳值
- 增加集群也很好(如果可行)