小文件过多,对Hive来说,在查询时,每一个小文件都会当成一个块,启动一个Map任务来完成,而一个Map任务的启动和初始化时间远远大于逻辑处理的时间,这样就会造成资源的浪费,且同时可执行的Map数量是受限的
Hive将一个查询语句转换为多个阶段,常规情况下,hive一次仅执行一个阶段,不过在某个特定的Job阶段,可以包含多个阶段
设置参数hive.exec.parallel
为true,就可以开启并发执行。
set hive.exec.parallel=true; //打开任务并行执行
set hive.exec.parallel