hive优化之并行执行任务

网友投稿 264 2022-11-23

hive优化之并行执行任务

1、与Oracle并行技术一样,hive在执行mapreduce作业时也可以执行并行查询。针对于不同业务场景SQL语句的执行情况,有些场景下SQL的执行是需要分割成几段去执行的,而且期间并不全是存在依赖关系。默认情况下,hive只会一段一段的执行mapreduce任务。使用并行的好处在于可以让服务器可以同时去执行那些不想关的业务场景,比如: select deptno,count(1) from emp01 group by deptno union all select deptno ,count(1) from emp02 group by deptno; 或者 from emp_full insert into table emp01 partitioned(pt='01') select empno,ename,sal,comm,hiredate,deptno insert into table emp02 partitioned(pt='02') select empno,ename,sal,comm,hiredate,deptno; 2、hive中控制并行执行的参数有如下几个: $ bin/hive -e set | grep parall hive.exec.parallel=false hive.exec.parallel.thread.number=8 hive.stats.map.parallelism=1 其中:hive.exec.parallel=false、hive.exec.parallel.thread.number=8分别控制着hive并行执行的特性。hive.exec.parallel=false表示默认没有启用并行参数,可以将其设置为true,在执行作业前进行session级别设置;hive.exec.parallel.thread.number=8表示每个SQL执行并行的线程最大值,默认是8. 例如: set hive.exec.parallel=true; set hive.exec.parallel.thread.number=8; select deptno,count(1) from emp group by deptno union all select deptno ,count(1) from emp group by deptno; 上面这个SQL的执行既可以启动并行,既可以同时执行不相关任务,而不需要一步一步顺序执行。 3、注意点:在hadoop上自行mapreduce任务数是有限制的,针对于集群资源充足的情况,并行自行可以很大程度提高性能,但如果集群资源本身就很紧张,那么并行并不能启动有效效果。 一个可能的hive作业设置为: set mapred.max.split.size=100000000;set mapred.min.split.size.per.node=100000000;set mapred.min.split.size.per.rack=100000000;set hive.input.format=org.apache.hadoop.hive.ql.io.CombineHiveInputFormat; set hive.exec.reducers.bytes.per.reducer=1000000000; set hive.exec.reducers.max=256; set hive.merge.mapfiles=true; set hive.merge.mapredfiles =ture; set hive.merge.size.per.task=256000000; set hive.merge.smallfiles.avgsize=16000000; set hive.exec.compress.intermediate=true; set mapred.map.output.compression.codec= org.apache.hadoop.io.compress.SnappyCodec; set hive.exec.compress.output=true; set mapred.output.compression.codec=org.apache.hadoop.io.compress.GzipCodec; set hive.exec.parallel=true; set hive.exec.parallel.thread.number=8; select deptno,count(1) from emp group by deptno union all select deptno ,count(1) from emp group by deptno;

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:hadoop2.x编译安装
下一篇:浅析FLASH读写----SPI原理及应用
相关文章

 发表评论

暂时没有评论,来抢沙发吧~