zoukankan      html  css  js  c++  java
  • hive优化,并行查询

    1、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的执行既可以启动并行,既可以同时执行不相关任务,而不需要一步一步顺序执行。

    2、注意点:在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;

  • 相关阅读:
    SqlServer 数据库同步的两种方式 (发布、订阅),主从数据库之间的同步
    Haproxy+Heartbeat 高可用集群方案操作记录
    HAProxy+Keepalived高可用负载均衡
    Centos 6/7 忘记root密码处理方法
    Centos 7配置nginx反向代理负载均衡集群
    各种官网系统镜像文件
    Tomcat通过Redis实现session共享的完整部署记录
    ELK平台搭建及日志监控
    快速搭建ELK日志分析系统
    idea各种快捷键
  • 原文地址:https://www.cnblogs.com/kwzblog/p/9542362.html
Copyright © 2011-2022 走看看