016-Hadoop Hive sql语法详解6-job输入输出优化、数据剪裁、减少job数、动态分区
一、job输入输出优化
善用muti-insert、union all,不同表的union all相当于multiple inputs,同一个表的union all,相当map一次输出多条
示例
  
二、数据剪裁
2.1、列剪裁
HIve在读取数据的时候,可以只查询所需要用到的列,而忽略其他列。甚至可以使用正在表达式。
见。http://www.cnblogs.com/bjlhx/p/6946202.html
2.2、分区剪裁
在查询的过程中减少不必要的分区
示例:
select count(orderid) from order_table
where to_date(sale_time)='2014-03-03'
and hour(to_date(sale_time))=10
修改后
select count(orderid) from order_table
where dt ='2014-03-03'
to_date(sale_time)='2014-03-03'
and hour(to_date(sale_time))=10
可以使用Explain dependency语法,获取input table 和input partition
    
三、利用hive的优化机制减少job数
不论是外关联outer join还是内关联inner join,如果join key相同,不管有多少个表,都会合并为一个MapReduce任务
  
四、合理使用动态分区
  
016-Hadoop Hive sql语法详解6-job输入输出优化、数据剪裁、减少job数、动态分区的更多相关文章
- Hadoop Hive sql语法详解
		Hadoop Hive sql语法详解 Hive 是基于Hadoop 构建的一套数据仓库分析系统,它提供了丰富的SQL查询方式来分析存储在Hadoop 分布式文件系统中的数据,可以将结构 化的数据文件 ... 
- [转]Hadoop Hive sql语法详解
		转自 : http://blog.csdn.net/hguisu/article/details/7256833 Hive 是基于Hadoop 构建的一套数据仓库分析系统,它提供了丰富的SQL查询方式 ... 
- Hadoop Hive sql 语法详解
		Hive 是基于Hadoop 构建的一套数据仓库分析系统,它提供了丰富的SQL查询方式来分析存储在Hadoop 分布式文件系统中的数据,可以将结构化的数据文件映射为一张数据库表,并提供完整的SQL查询 ... 
- 017-Hadoop Hive sql语法详解7-去重排序、数据倾斜
		一.数据去重排序 1.1.去重 distinct与group by 尽量避免使用distinct进行排重,特别是大表操作,用group by代替 -- 不建议 select DISTINCT key ... 
- 【hive】——Hive sql语法详解
		Hive 是基于Hadoop 构建的一套数据仓库分析系统,它提供了丰富的SQL查询方式来分析存储在Hadoop 分布式文件系统中的数据,可以将结构 化的数据文件映射为一张数据库表,并提供完整的SQL查 ... 
- hive sql 语法详解
		Hive 是基于Hadoop 构建的一套数据仓库分析系统,它提供了丰富的SQL查询方式来分析存储在Hadoop 分布式文件系统中的数据,可以将结构 化的数据文件映射为一张数据库表,并提供完整的SQL查 ... 
- Hive sql语法详解
		Hive 是基于Hadoop 构建的一套数据仓库分析系统,它提供了丰富的SQL查询方式来分析存储在Hadoop 分布式文件系统中的数据,可以将结构 化的数据文件映射为一张数据库表,并提供完整的SQ ... 
- 010-Hadoop Hive sql语法详解5-HiveQL与SQL区别
		1.Hive不支持等值连接 •SQL中对两表内联可以写成:•select * from dual a,dual b where a.key = b.key;•Hive中应为•select * from ... 
- 006-Hadoop Hive sql语法详解1-数据结构和Hive表建立
		1.认识hive: Hive 是基于Hadoop 构建的一套数据仓库分析系统,它提供了丰富的SQL查询方式来分析存储在Hadoop 分布式文件系统中的数据,可以将结构化的数据文件映射为一张数据库表, ... 
随机推荐
- gulp安装使用
			1. 安装nodeJs 2. 全局安装gulp: npm install gulp -g 3. 在cmd切换至项目文件夹下 npm init,创建package.json文件(JSON文件内不 ... 
- 使用MyBatis_Generator生成Dto、Dao、Mapping
			由于MyBatis属于一种半自动的ORM框架,所以主要的工作将是书写Mapping映射文件,但是由于手写映射文件很容易出错,所以查资料发现有现成的工具可以自动生成底层模型类.Dao接口类甚至Mappi ... 
- ServletContext与Web应用以及Spring容器启动
			一.ServletContext对象获取Demo Servlet容器在启动时会加载Web应用,并为每个Web应用创建唯一的ServletContext对象. 可以把ServletContext看作一个 ... 
- redis中毒
			黑客用我们服务器挖矿了 新的一天的开始 周五早上刚到公司,同事来问我系统为啥打不开了?我第一反应就是肯定 Nginx 服务器挂了呗,立马就去登录服务器看看,但此时发现已经完全远程登录不上这台部署了 N ... 
- IE的坏脾气——3像素Bug
			在一个典型的浮动中,如下面的图片所示:灰色矩形是外部容器,绿色容器在外部容器内向左浮动,未浮动的部分包围着浮动部分.但是IE6在解析这样的浮动时,会莫名的给靠紧浮动部分的未浮动部分添加3个像素的边距. ... 
- 【转】支付宝WAP支付接口开发
			支付宝WAP支付接口开发 因项目需要,要增加支付宝手机网站支付功能,找了支付宝的样例代码和接口说明,折腾两天搞定,谨以此文作为这两天摸索的总结.由于公司有自己的支付接口,并不直接使用这个接口,所以晚些 ... 
- Beamer加中文
			\documentclass{beamer} \mode<presentation> { \usetheme{CambridgeUS} % or try Darmstadt, Madrid ... 
- Asp.Net 无刷新文件上传并显示进度条的实现方法及思路
			相信通过Asp.Net的服务器控件上传文件在简单不过了,通过AjaxToolkit控件实现上传进度也不是什么难事,为什么还要自己辛辛苦苦来 实现呢?我并不否认”拿来主义“,只是我个人更喜欢凡是求个所以 ... 
- sqlserver tips
			方括号内的表示一个对象名(视图,存储过程,表 等).列名:正常使用时,加不加一样,但是如果对象名是保留字的话,比如cascade,就必须加:不过建议不用保留字作为对象名 if object_id('[ ... 
- AsyncTask工作机制简介
			昨天写的图片的三级缓存,假设有兴趣,能够去看下,浅谈图片载入的三级缓存原理(一) http://blog.csdn.net/wuyinlei/article/details/50606455 在里面我 ... 
