欢迎投稿

今日深度:

Hive的原理—— 深入浅出学Hive,

Hive的原理—— 深入浅出学Hive,


目录:

初始Hive

Hive安装与配置

Hive 内建操作符与函数开发

Hive JDBC

hive参数

Hive 高级编程

Hive QL

Hive Shell 基本操作

hive 优化

Hive体系结构

Hive的原理

 

配套视频课程

 

第一部分:Hive原理 为什么要学习Hive的原理 •一条Hive HQL将转换为多少道MR作业 •怎么样加快Hive的执行速度 •编写Hive HQL的时候我们可以做什么 •Hive 怎么将HQL转换为MR作业 •Hive会采用什么样的优化方式 Hive架构&执行流程   Hive执行流程 •编译器将一个Hive QL转换操作符 •操作符是Hive的最小的处理单元 •每个操作符代表HDFS的一个操作或者一道MapReduce作业 Operator •Operator都是hive定义的一个处理过程 •Operator都定义有: •protected List <Operator<?  extends Serializable >> childOperators;  •protected List <Operator<?  extends Serializable >> parentOperators;  •protected boolean done; // 初始化值为false •所有的操作构成了 Operator图,hive正是基于这些图关系来处理诸如limit, group by, join等操作   Hive执行流程
操作符 描述
TableScanOperator 扫描hive表数据
ReduceSinkOperator 创建将发送到Reducer端的<Key,Value>对
JoinOperator Join两份数据
SelectOperator 选择输出列
FileSinkOperator 建立结果数据,输出至文件
FilterOperator 过滤输入数据
GroupByOperator GroupBy语句
MapJoinOperator /*+mapjoin(t) */
LimitOperator Limit语句
UnionOperator Union语句
•Hive通过ExecMapper和ExecReducer执行MapReduce任务 •在执行MapReduce时有两种模式 •本地模式 •分布式模式 ANTLR词法语法分析工具 •ANTLR—Another Tool for Language Recognition •ANTLR 是开源的 •为包括Java,C++,C#在内的语言提供了一个通过语法描述来自动构造自定义语言的识别器(recognizer),编译器(parser)和解释器(translator)的框架 •Hibernate就是使用了该分析工具   Hive编译器         编译流程   第二部分:一条HQL引发的思考 案例HQL •select key from test_limit limit 1 •Stage-1 •TableScan Operator>Select Operator-> Limit->File Output Operator •Stage-0 •Fetch Operator •读取文件 MapperInputFormat •该hive MR作业中指定的mapper是: •mapred.mapper.class = org.apache.hadoop.hive.ql.exec.ExecMapper •input format是: •hive.input.format  = org.apache.hadoop.hive.ql.io.CombineHiveInputFormat  •该hive MR作业中指定的mapper是: •mapred.mapper.class = org.apache.hadoop.hive.ql.exec.ExecMapper •input format是: •hive.input.format  = org.apache.hadoop.hive.ql.io.CombineHiveInputFormat 

www.htsjk.Com true http://www.htsjk.com/hive/32686.html NewsArticle Hive的原理—— 深入浅出学Hive, 目录: 初始Hive Hive安装与配置 Hive 内建操作符与函数开发 Hive JDBC hive参数 Hive 高级编程 Hive QL Hive Shell 基本操作 hive 优化 Hive体系结构 Hive的原理   配套...
相关文章
    暂无相关文章
评论暂时关闭