大数据入门基础系列之浅谈Hive的执行原理

在前面的博文里,我已经介绍了

在前面的博文里,我已经介绍了

Hive的执行原理

Hive的执行原理

Hive构建在Hadoop之上

(1) HQL中对查询语句的解释、优化、生成查询计划是由Hive完成的

(2) 所有的数据都是存储在Hadoop中

(3) 查询计划被转化为MapReduce任务,在Hadoop中执行(有些查询没有MR任务,如:select * from table)

(4) Hadoop和Hive都是用UTF-8编码的

Hive编译器将一个Hive QL转换操作符。操作符Operator是Hive的最小的处理单元,每个操作符代表HDFS的一个操作或者一道MapReduce作业。Operator都是hive定义的一个处理过程,其定义有:

protected List

protected List

protected boolean done; // 初始化值为false

所有的操作构成了Operator图,hive正是基于这些图关系来处理诸如limit, group by, join等操作。

Hive QL的操作符

操作符如下:

TableScanOperator:扫描hive表数据

ReduceSinkOperator:创建将发送到Reducer端的对

JoinOperator:Join两份数据

SelectOperator:选择输出列

FileSinkOperator:建立结果数据,输出至文件

FilterOperator:过滤输入数据

GroupByOperator:GroupBy语句

MapJoinOperator:/*+mapjoin(t) */

LimitOperator:Limit语句

UnionOperator:Union语句

Hive通过ExecMapper和ExecReducer执行MapReduce任务。在执行MapReduce时有两种模式,即本地模式和分布式模式 。

http://www.cnblogs.com/zlslch/http://www.cnblogs.com/lchzls/

看完本文有收获?请转发分享给更多人

关注「大数据躺过的坑」,提升大神技能

觉得不错,请点赞和留言

本文来自企鹅号 - 好记性不如烂笔头干货媒体

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏性能与架构

MySQL 清除表空间碎片

表的存储会出现碎片化,每当删除了一行内容,该段空间就会变为空白 当执行插入操作时,MySQL会尝试使用空白空间,但如果某个空白空间一直没有被大小合适的数据占用...

3397
来自专栏涂小刚的专栏

Spark SQL 之 Join 实现

如今Spark SQL(Dataset/DataFrame)已经成为Spark应用程序开发的主流,作为开发者,我们有必要了解Join在Spark中是如何组织运行...

3.1K1
来自专栏北京马哥教育

MongoDB权威指南学习笔记5---索引相关的知识点

1 查看查询计划 db.user.find({"username":"xxx"}) .explain() db.doc.find({"es_y":"2014"}...

2625
来自专栏Java帮帮-微信公众号-技术文章全总结

Web-第六天 MySQL回顾学习

数据库就是存储数据的仓库,其本质是一个文件系统,数据按照特定的格式将数据存储起来,用户可以通过sql语句对数据库中的数据进行增加,修改,删除及查询操作

1042
来自专栏技术博客

SQL知识点(一)

    主数据文件有且只有一个,二级数据文件0-N个     扩展名:主数据文件:MDF             二级数据文件:NDF */

1393
来自专栏数据之美

Hive 基础(1):分区、桶、Sort Merge Bucket Join

Hive 已是目前业界最为通用、廉价的构建大数据时代数据仓库的解决方案了,虽然也有 Impala 等后起之秀,但目前从功能、稳定性等方面来说,Hive 的地位...

33610
来自专栏JAVA高级架构

SQL索引一步到位

892
来自专栏张善友的专栏

SQL SERVER 2008 Hierarchyid数据类型

以往我们在关系数据库中建立树状结构的时候,通常使用ID+ParentID来实现两条纪录间的父子关系。但这种方式只能标示其相对位置。解决这类问题在SqlServe...

21710
来自专栏Kevin-ZhangCG

SQL优化总结之二

1652
来自专栏代码世界

MYSQL之索引原理与慢查询优化

一、索引 1、介绍   一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,在生产环境中,我们遇到最多的也是最容易出现问题的,...

48113

扫码关注云+社区