企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
Hive 会将一个查询转化成一个或者多个阶段。这样的阶段可以是 MapReduce 阶段、抽样阶段、合并阶段、limit 阶段。或者 Hive 执行过程中可能需要的其他 阶段。 <br/> 默认情况下,Hive 一次只会执行一个阶段。不过,某个特定的 job 可能包含众多的阶段,而这些<mark>阶段可能并非完全互相依赖的,也就是说有些阶段是可以并行执行的</mark>,这样可能使得整个 job 的执行时间缩短。不过,如果有更多的阶段可以并行执行,那么 job 可能就越快完成。 <br/> 通过设置参数`hive.exec.parallel=true`,就可以开启并发执行。不过,在共享集群中,需要注意下,如果job中并行阶段增多,那么集群利用率就会增加。 ```sql //打开任务并行执行 set hive.exec.parallel=true; //同一个 sql 允许最大并行度,默认为 8 set hive.exec.parallel.thread.number=16; ``` 当然,得是在系统资源比较空闲的时候才有优势,否则,没资源,并行也起不来。 如果集群的利用率已经很高,并行执行帮助不大。