• 避免执行MR

    • select * or select field1,field2
    • limit 10
    • where语句中只有分区字段或该表的本地字段
    • 使用本地set hive.exec.mode.local.auto=true;
  • EXPLAIN的使用 
    hive对sql的查询计划信息解析 
    EXPLAIN SELECT COUNT(1) FROM T_TABLE; 
    EXPLAIN EXTENDED SELECT COUNT(1) FROM T_TABLE;(更为详细)
  • 本地MR(提高本地资源利用率,一般在测试时使用)

    • 本地模式设置 
      set mapred.job.tracker=local; 
      set hive.exec.mode.local.auto=true; (开启自动本地模式) 
      set hive.exec.mode.local.auto.inputbytes.max(默认134217728,设置local mr的最大输入数据量,当输入数据量小于这个值的时候会采用local mr的方式) 
      set hive.exec.mode.local.auto.input.files.max (默认是4, 
      设置local mr的最大输入文件个数,当输入文件个数小于这个值的时候会采用local mr的方式)
  • 开启并行计算 
    set hive.exec.parallel=true; (增加集群利用率)

  • 设置严格模式 
    set hive.mapred.mode=strict | nostrict;

    strict可以禁止三种类型的查询

    1、分区表必须使用 where 分区条件过滤 

    2、Order by语句必须使用 limit 

    3、限制笛卡尔积查询

  • 调整mapper和reducer的数量

    • 太多map导致启动产生过多开销
    • 按照输入数据量大小确定reducer数目, 
      • set mapred.reduce.tasks= 默认3
      • dfs -count /分区目录/*
      • hive.exec.reducers.max设置阻止资源过度消耗
    • JVM重用

      set mapred.job.reuse.jvm.num.task=10 (会一直占用task槽,占用内存)

    • 排序语句

      order by : 全局排序 
      sort    by : 是单reduce排序 
      distribute by : 分区字段排序;

      sort by distribute by 配合使用(相同数据会被分发到同一个reduce上,类似order by) 
      select id from t_bucket distribute by id sort by id desc limit 10; 
      cluster by 
            可以确保类似的数据的分发到同一个reduce task中,并且保证数据有序防止所有的数据分发到同一个reduce上,导致整体的job时间延长

      cluster by语句的等价语句 
      distribute by idsort by id == cluster by

    • Map-side聚合

      set hive.map.aggr=true; 
      这个设置可以将顶层的聚合操作放在Map阶段执行,从而减轻清洗阶段数据传输和Reduce阶段的执行时间,提升总体性能。

      该设置会消耗更多的内存

Hive 性能调优的更多相关文章

  1. Hive(十)Hive性能调优总结

    一.Fetch抓取 1.理论分析 Fetch抓取是指,Hive中对某些情况的查询可以不必使用MapReduce计算.例如:SELECT * FROM employees;在这种情况下,Hive可以简单 ...

  2. HDP Hive性能调优

    (官方文档翻译整理及总结) 一.优化数据仓库 ① Hive LLAP  是一项接近实时结果查询的技术,可用于BI工具以及网络看板的应用,能够将数据仓库的查询时间缩短到15秒之内,这样的查询称之为Int ...

  3. Hive性能调优(二)----数据倾斜

    Hive在分布式运行的时候最害怕的是数据倾斜,这是由于分布式系统的特性决定的,因为分布式系统之所以很快是由于作业平均分配给了不同的节点,不同节点同心协力,从而达到更快处理完作业的目的. Hive中数据 ...

  4. Hive性能调优(一)----文件存储格式及压缩方式选择

    合理使用文件存储格式 建表时,尽量使用 orc.parquet 这些列式存储格式,因为列式存储的表,每一列的数据在物理上是存储在一起的,Hive查询时会只遍历需要列数据,大大减少处理的数据量. 采用合 ...

  5. Hive性能调优

    表分为内部表.外部表.分区表,桶表.内部表.外部表.分区表对应的是目录,桶表对应目录下的文件.

  6. Spark性能调优之解决数据倾斜

    Spark性能调优之解决数据倾斜 数据倾斜七种解决方案 shuffle的过程最容易引起数据倾斜 1.使用Hive ETL预处理数据    • 方案适用场景:如果导致数据倾斜的是Hive表.如果该Hiv ...

  7. Spark 常规性能调优

    1. 常规性能调优 一:最优资源配置 Spark性能调优的第一步,就是为任务分配更多的资源,在一定范围内,增加资源的分配与性能的提升是成正比的,实现了最优的资源配置后,在此基础上再考虑进行后面论述的性 ...

  8. Informatica_(6)性能调优

    六.实战汇总31.powercenter 字符集 了解源或者目标数据库的字符集,并在Powercenter服务器上设置相关的环境变量或者完成相关的设置,不同的数据库有不同的设置方法: 多数字符集的问题 ...

  9. Spark Streaming性能调优详解

    Spark Streaming性能调优详解 Spark  2015-04-28 7:43:05  7896℃  0评论 分享到微博   下载为PDF 2014 Spark亚太峰会会议资料下载.< ...

随机推荐

  1. For Path

    /****** Script for SelectTopNRows command from SSMS ******/ DECLARE @table TABLE (姓名 VARCHAR(10),课程 ...

  2. poj~3694Network

    Description A network administrator manages a large network. The network consists of N computers and ...

  3. 新blog开张!

    以后不出意外就只在新的blog更新了! hexo搭建的新blog 然后的然后是继续奋斗!

  4. vue-cli脚手架的.babelrc文件

    虽然es6还没被浏览器全部支持,但是使用es6是大势所趋,所以babel应运而生将es6代码转换成浏览器能够识别的代码 什么是.babelrc文件呢? 熟悉linux的同学一定知道,rc结尾的文件通常 ...

  5. .net 网站首页,本次的项目中用到的一个网站首页中统计网页访问量的工具方法,我觉得它应该在pagebase里面,拿来用一下

    需要建立一个根文件夹 ~/xml/couter.txt #region 网站访问量         protected void pageviews() {             int count ...

  6. 要知道的DbProviderFactory

    了解DbProviderFactory 前不久想使用下EF的通用单表增删改的特性,当时使用控制台做测试,怎么弄都没成功,原因出在app.config中,反而在mvc项目中,就没有任何问题.在反复的更改 ...

  7. C#的泛型委托Predicate/Func/Action

    Predicate<T> 是一个委托,它代表了一个方法,它的定义是: namespace System {    // 摘要:    表示定义一组条件并确定指定对象是否符合这些条件的方法. ...

  8. POCO库中文编程参考指南(3)Poco::Net::Socket

    POCO库中文编程参考指南(3)Poco::Net::Socket 作者:柳大·Poechant 博客:Blog.CSDN.net/Poechant 邮箱:zhongchao.ustc#gmail.c ...

  9. 最新版 VS2015|Visual Studio Enterprise 2015简体中文版(企业版)

    Microsoft Visual Studio(简称VS)是美国微软公司的开发工具包系列产品. Visual Studio 2015 是一个丰富的集成开发环境,可用于创建出色的 Windows.And ...

  10. HihoCoder 1629 Graph (2017 ACM-ICPC 北京区域赛 C题,回滚莫队 + 启发式合并 + 可撤销并查集)

    题目链接  2017 ACM-ICPC Beijing Regional Contest Problem C 题意  给定一个$n$个点$m$条边的无向图.现在有$q$个询问,每次询问格式为$[l, ...