大数据入门基础系列之浅谈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/

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

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

觉得不错,请点赞和留言

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20171210G0OWBF00?refer=cp_1026

同媒体快讯

相关快讯

扫码关注云+社区