Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.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
Hadoop 如何使用动态分区优化表上的配置单元查询_Hadoop_Hive - Fatal编程技术网

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优化为最佳值
  • 增加集群也很好(如果可行)