首页 > 数据库 >HiveSQL调优-最常用的调优方式

HiveSQL调优-最常用的调优方式

时间:2023-05-06 16:35:23浏览次数:51  
标签:常用 小表 HiveSQL 分区 开启 调优 order

系统和其它层面:让经常where的字段进行分区,合理的多分桶、数据使用压缩、建宽表的时候用列式的orc存储、

开启严格模式:会产生笛卡尔积、order by排序后未加limit、查询分区表时未指定列的HiveSQL语句直接执行出错

开启列裁剪和分区裁剪:即只查询要读取的列和分区,避免全表扫描或全列扫描。

HiveSQL语句本身层面:

1. sort by去代替order by:order by需要全局排序,所有的map会进入到一个reduce里面。sort by是多个reduce局部有序。

2. group by来代替count distinct

3. union all时可以开启并发执行

4. 小表在前,大表在后。 小表驱动大表,小表可载入内存

5. 调整Map和Reduce的个数

6. 对task多,难以避免小文件的任务开启JVM重用

 

标签:常用,小表,HiveSQL,分区,开启,调优,order
From: https://www.cnblogs.com/lcc0/p/17377806.html

相关文章

  • javaScript 常用去除 ‘console
    javaScript常用去除‘console.log’办法手动注释掉console.log语句:可以手动在代码中注释掉所有console.log语句,但是这种方法比较繁琐,并且需要手动维护,不太适合大型项目。使用Babel插件去除console.log:Babel是一个JavaScript编译器,它可以将ES6+的代码转换成......
  • jvm调优总结(从基本概念 到 深度优化)
    关键字:jvm调优总结(从基本概念到深度优化)JVM参数详解Java虚拟机中,数据类型可以分为两类:基本类型和引用类型。基本类型的变量保存原始值,即:他代表的值就是数值本身;而引用类型的变量保存引用值。“引用值”代表了某个对象的引用,而不是对象本身,对象本身存放......
  • SQL_常用查询
    <说明>SNO---学号SN----学生姓名 SheName---数据表名<说明> 【查询】select*from SheName   //取所有数据selectcount(*)from SheName //统计数据条数select SNO,SNfrom SheName//查询全体学生的学号和姓名【修改】【删除】de......
  • @babel-AST常用方法
    @babel常用方法一、js对应ASTobj变量名对应Identifier,常量串对应StringLiteral,数字对应NumericLiteral。CallExpression主要关注callee和arguments属性,分别表示被调用的函数和参数列表。MemberExpression主要关注object、property和computed属性,分别表示对象,属性和是否......
  • Python之路,Day21 - 常用算法学习
    本节内容算法定义时间复杂度空间复杂度常用算法实例 1.算法定义算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。如果一个算法有缺陷,......
  • Linux安装rabbitMQ常用命令
    1.拉取最新的rabbitMQdockerpullrabbitmq:management2.容器启动rabbitMQdockerrun-d--hostnamemy-rabbit--namerabbit-p15672:15672-p5672:5672rabbitmq:management其中:     --hostname:指定容器主机名称     --name:        指定容器名称  ......
  • SSH客户端常用工具SecureCRT操作
    1.1SecureCRT工具介绍SecureCRT是一款支持SSH(SSH1和SSH2)协议的终端仿真软件,常被用来运行于Windows下远程登录UNIX或Linux服务器。SecureCRT软件功能强大,不仅仅支持SSH协议,同时还支持Telnet、RLogin、Serial和TAPI等协议,它有非常多的功能,这里就不一一介绍了,常用功能可见下文介绍......
  • 常用的截取字符串方法JS和Golang实现
    JS中截取字符串很简单,直接使用substr函数substr()方法可在字符串中截取从开始下标开始的指定数目的字符。下标是从0开始算例如:"21".substr(0,1)  返回2golang实现的substr//截取字符串,支持多字节字符//start:起始下标,负数从从尾部开始,最后一个为-1//length:截取长度,......
  • maven常用命令
    初学maven即感受到其强大的便捷性,大体记录下maven的基础知识以备不时之需。常用命令为:   mvnarchetype:create:创建Maven项目   mvncompile:编译源代码   mvntest-compile:编译测试代码   mvntest:运行应用程序中的单元测试   mvnsite:生成项目相关......
  • swagger3 常用注解
    swagger2OpenAPI3注解位置@Api@Tag(name=“接口类描述”)Controller类上@ApiOperation@Operation(summary=“接口方法描述”)Controller方法上@ApiImplicitParams@ParametersController方法上@ApiImplicitParam@Parameter(description=“参数描......