大数据入门基础系列之浅谈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 条评论
登录 后参与评论

相关文章

来自专栏java一日一条

Java 元编程及其应用

同样是实现一个投票系统,一个是python程序员,基于django-framework,用了半小时就搭建了一个完整系统,另外一个是标准的SSM(Spring-S...

531
来自专栏Albert陈凯

2018-05-28 Google Guava官方教程(中文版)from ifeve.com

1873
来自专栏瓜大三哥

UVM(十)之config机制续2

UVM(十)之config机制续2 1.用专门的类来组织config变量 到这里为止,本章目前所设计的都是少量数据在不同的component之间的传递,对于一...

2169
来自专栏iKcamp

使用合适的设计模式一步步优化前端代码

作者:晓飞 本文原创,转载请注明作者及出处 在后端语言中,设计模式应用的较为广泛。如Spring中常见的工厂模式、装饰者模式、单例模式、迭代器模式。但...

1875
来自专栏互联网杂技

如何去了解JavaScript引擎的工作原理

1. 什么是JavaScript解析引擎? 简单地说,JavaScript解析引擎就是能够“读懂”JavaScript代码,并准确地给出代码运行结果的一段程序。...

3347
来自专栏程序员宝库

精读《高性能 javascript》

本期我来给大家推荐的书是《高性能JavaScript》,在这本书中我们能够了解 javascript 开发过程中的性能瓶颈,如何提升各方面的性能,包括代码的加载...

562
来自专栏编程一生

mock打桩之EasyMock

981
来自专栏我杨某人的青春满是悔恨

谈谈Swift的extension

3.times { puts 'hello world' } 这是一条Ruby语句,它会打印“hello world”三次,意图清晰,语法简洁。

662
来自专栏撸码那些事

我看依赖注入

1203
来自专栏郭霖

Ruby设计模式透析之 —— 模板方法(Template Method)

Java设计模式透析之 —— 模版方法(Template Method) 今天你还是像往常一样来上班,一如既往地开始了你的编程工作。 项目经理告诉你,今天想在...

2047

扫码关注云+社区