




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
limit执行原理介绍执行计划0102Limit执行原理Content目录01
介绍执行计划介绍执行计划Hive-SQL的执行计划主要用来描述SQL实际执行的整体过程。
我们在写Hive-SQL的时候,并不是直接在Hive上面跑出结果,而是通过Hive这样一个组件,翻译成MapReduce能理解的语句,在MapReduce上面运行,得出结果,再返回。
有时候我们写SQL会产生比较慢的查询结果,其原因可能单纯地从SQL语法上看不出问题,此时如果能够理解执行计划,知道Hive-SQL翻译成MapReduce的执行语句的过程,就能够更好地定位问题并调优。在Hive里,可以通过“explain+SQL语句”的方式查询得到SQL运行时的执行计划。执行计划语法基本语法:EXPLAIN[EXTENDED|DEPENDENCY|AUTHORIZATION|LOCKS|VECTORIZATION]queryextended输出更加详细的信息denpendency输出依赖的数据源authorization输出执行sql授权信息locks输出锁情况vectorization相关02
Limit执行原理Limit执行原理在hive查询中要限制查询输出条数,可以用limit关键词指定。
如selectcolumnname1fromtable1limit10;
这样hive将输出符合查询条件的10个记录。
从根本上说,hive是hadoop提交作业的客户端,它使用antlr词法语法分析工具,对SQL进行分析优化后翻译成一系列MapReduce作业,向hadoop提交运行作业以得到结果。
Hive执行计划分析Limit执行原理改执行计划显示,Stage-1是一个MR程序,且只有map过程,没有reduce过程,也就是说在Map过程就直接将结果输出到HDFS文件系统,Stage-0是依赖于Stage-1的文件读取操作,它不是MR作业,只是一个基于hadoop文件系统客户端的分布式文件读取程序。
重点分析Stage-1过程,一条记录被读取后调用hive自定义mapper函数,依次经过
TableScan
Operator->
FilterOperator->
SelectOperator->
LimitOperator->
FileOutputOperator,以上每一个Operator都是hive定义的一个处理过程。Limit执行原理部分执行流程:MapRunner会循环调用CombineHiveRecordReader的doNext方法读入行记录,直到doNext方法返回false,doNext方法中有一个重要的逻辑来控制记录读取是否结束Limit执行原理LimitOperator的判断逻辑:@OverridepublicvoidprocessOp(Objectrow,inttag)throwsHiveException{if(currCount<limit){forward(row,inputObjInspectors[tag]);currCount++;}else{setDone(true);}}currCount是一个记录处理的计数器,初始值为0,当该值大于等于limit后,将自己标识成处理完成状态,即设置done=trueLimit执行原理为什么limit1,map数为5的前提下,MapInputRecords是35而不是5?第一条记录进入LimitOperatordone为false;第二条记录进入LimitOperatordone为true;第三条记录进入SelectOperatordone设置为true;第四条记录进入FilterOperatordone设置为true;Limit执行原理第五条记录进入TableScanOperatordone设置为true;第六条记录进入MapOperatordone设置为true;第7条记录进入ExecMapper静态变量done设置为true;读取第八条记录时CombineHiveRecordReader发现ExecMapper的done已经为true,结束数据读取,从而MapRunner退出循环
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 佛山市小升初数学试卷
- 董村小学二年级数学试卷
- 2025至2030城市建设规划行业市场发展前景及供给需求与投资机会报告
- 2025至2030轨道交通安防行业市场深度研究及发展前景投资可行性分析报告
- 六安市霍邱县新店镇选聘村干部考试真题2024
- 2024年杭州拱墅区专职社区工作者招聘笔试真题
- 2025至2030财务软件产业深度调研及发展趋势与投资战略报告
- 东山小学期中数学试卷
- 工贸单招数学试卷
- 福州初三卷子数学试卷
- 电动二轮车租赁合同协议
- 电梯维保合同分包协议
- fca外贸合同协议
- DB32-T 5080-2025 工程竹结构建筑技术规程
- 第十五讲新时代与中华民族共同体建设2012- -中华民族共同体概论专家大讲堂课件
- 玩具行业智能玩具设计制造系统研发方案
- 恶劣天气期间的安全检查制度
- 成都大学附属中学语文新初一分班试卷含答案
- 富马酸泰吉利定注射液-临床药品解读
- 现场维保的安全措施、文明维保服务措施
- 酒店安全事故经典案例分析
评论
0/150
提交评论