前言: 最近发现hivesql的执行速度特别慢,前面我们已经说明了left和union的优化,下面咱们分析一下增加或者减少reduce的数量来提升hsql的速度. 参考:http://www.cnblogs.com/liqiu/p/4873238.html 分析: and o.create_time = '2015-10-10'; 上一篇博文已经说明了,需要8个map,1个reduce,执行的速度:52秒.详细记录参考:http://www.cnblogs.com/liqiu/p/4873238…
一.前言 公司实用Hadoop构建数据仓库,期间不可避免的实用HiveSql,在Etl过程中,速度成了避无可避的问题.本人有过几个数据表关联跑1个小时的经历,你可能觉得无所谓,可是多次Etl就要多个小时,非常浪费时间,所以HiveSql优化不可避免. 注:本文只是从sql层面介绍一下日常需要注意的点,不涉及Hadoop.MapReduce等层面,关于Hive的编译过程,请参考文章:http://tech.meituan.com/hive-sql-to-mapreduce.html 二.准备数据…
相信在Etl的过程中不可避免的实用union all来拼装数据,那么这就涉及到是否并行处理的问题了. 在hive中是否适用并行map,可以通过参数来设定: set hive.exec.parallel=true; 那么还是实用上一篇博客的数据,链接:http://www.cnblogs.com/liqiu/p/4873238.html 如果咱们需要一些数据: union all ) a; 就是模拟分别从两个表里面获取数据,如果不开启并行,实用的时间是开启时间的两倍,所以这个地方多加注意!…
Tomcat6 一些调优设置内存和连接数 博客分类: java TomcatJVMLinux应用服务器网络应用  公司的一个服务器使用Tomcat6默认配置,在后台一阵全点击服务器就报废了,查了一下就要是PERMSIZE默认值过小造成(16-64) TOMCAT_HOME/bin/catalina.sh 添加一行:JAVA_OPTS=" -XX:PermSize=64M -XX:MaxPermSize=128m" 问题解决(可能为调用JAR包过多原因)下面是网上看到一些设置 JAVA_…
JMeter用户可根据运行的计算机配置,来适当调整JMeter.bat中的JVM调优设置,如下所示: set HEAP=-Xms512m -Xmx512m set NEW=-XX:NewSize=128m -XX:MaxNewSize=128m set SURVIVOR=-XX:SurvivorRatio=8 -XX:TargetSurvivorRatio=50% set TENURING=-XX:MaxTenuringThreshold=2 根据经验,堆值(HEAP)最多设置为物理内存的一半,…
目录 综述 1.严格模式 1.1 参数设置 1.2 查看参数 1.3 严格模式限制内容及对应参数设置 2.实际操作 2.1 分区表查询时必须指定分区 2.2 order by必须指定limit 2.3 限制笛卡尔积 3.搭配使用 3.1 参数 3.2 搭配使用案例 综述 在同样的集群运行环境中,hive调优有两种方式,即参数调优和sql调优. 本篇讲涉及到的Hive严格模式. 前两天在优化一个前人遗留下的sql,发现关于严格模式参数是这样使用的,严重错误. set hive.strict.che…
6.2.3 Reduce的性能问题 Reduce的性能问题有和map类似的方面,也有和map不同的方面.图6.13是reduce任务的具体的执行各阶段,标识了可能影响性能的区域. 这一章将介绍影响reduce任务性能的常见问题. 技术33 Reduce实例不足或过多 尽管map段的并行化程度在大部分情况下是自动设置的,但是在reduce端,reduce实例的数量是完全自定义的.如果reduce实例不足或过多,集群的性能就很难得到充分发挥. 问题 需要确定reduce实例的数量是否是作业运行缓慢的…
Oracle 数据库系统中起到调节作用的参数叫初始化参数,数据库管理员根据实际情况需要适当调整这些 初始化参数以优化Oracle系统. 1 主要系统参数调优介绍 2 系统内存参数的分配 2.1 Oracle 实例= 内存结构 + 进程结构 内存结构 = SGA + PGA SGA(系统全局区): 用户存储数据库信息的内存区,该区域为数据库进程所共享.它包含服务器的数据和控制信息,主要包含高速数据缓冲区.共享池.重做日志缓存区.Java池,大型池等内存结构. SGA的设置,理论上SGA的大小应该占…
mapred.tasktracker.map.tasks.maximum 官方解释:The maximum number of map tasks that will be run  simultaneously by a task tracker. 我的理解:一个tasktracker最多可以同时运行的map任务数量 默认值:2 优化值:mapred.tasktracker.map.tasks.maximum = cpu数量 cpu数量 = 服务器CPU总核数 / 每个CPU的核数服务器CPU…
背景 在刚使用hive的过程中,碰到过很多问题,任务经常需要运行7,8个小时甚至更久,在此记录一下这个过程中,我的一些收获 join长尾 背景 SQL在Join执行阶段会将Join Key相同的数据分发到同一个执行Instance上处理.如果某个Key上的数据量比较多,会导致该Instance执行时间比其他Instance执行时间长.其表现为:执行日志中该Join Task的大部分Instance都已执行完成,但少数几个Instance一直处于执行中,这种现象称之为长尾 长尾类别&优化方法 小表…