hive实现原理-weibo-大数据文档资料.docx
1Hivc实现原理
1
新人培训课程|从入门到精通
作者:周忱|淘宝综合产品微博:@MinZhou
邮箱:zhouchen.zm@
1Hivc实现原理
1
??????
???
花名:周忱(chén)真名:周敏
微博:@MinZhou
Twitter:@minzhou2010年6月加入淘宝
曾经淘宝HadoopHive研发组Leader
目前专注分布式实时计算HiveContributor
自由、开源软件热爱者
关于我
TaobaoJavaTeam|zhou
TaobaoJavaTeam|zhouchen.zm
TaobaoJavaTeam|zhou
TaobaoJavaTeam|zhouchen.zm
1Hivc实现原理
1
??????
???
花名:周忱(chén)真名:周敏
微博:@MinZhou
Twitter:@minzhou2010年6月加入淘宝
曾经淘宝HadoopHive研发组Leader
目前专注分布式实时计算HiveContributor
自由、开源软件热爱者
关于我
Hivc
Hivc实现原理
1
如何用MR实现下面语句?
pv_users
pageidagecount
pageid
age
count
1
25
1
2
25
2
1
32
1
pageid
age
1
25
2
25
1
32
2
25
SELECTpageid,age,count(1)
FROMpvusers
GROUPBYpageid,age;
Hivc
Hivc实现原理
1
就是这么简单
pv_users
pageid
age
1
25
2
25
pageid
age
1
32
2
25
Map
key
key
value
1,25
1
2,25
1
key
key
value
1,32
1
2,25
1
Shuffle
Shuffle
Sort
key
key
value
1,25
1
1,32
1
key
key
value
2,25
1
2,25
1
p
p
Reduce
p
p
Hivc
Hivc实现原理
1
就是这么简单
Map
key
key
value
1,25
1
2,25
1
key
key
value
1,32
1
2,25
1
Shuffle
Shuffle
Sort
key
key
value
1,25
1
1,32
1
key
key
value
2,25
1
2,25
1
Reduce
pageid
age
count
1
25
1
1
32
1
pageid
pageid
age
count
2
25
2
Hivc
Hivc实现原理
1
为什么要学习Hive的实现?
?Hive学习曲线平缓,适合非专业人员,集团内部普遍使用
?一道HiveSQL将转换为多少道M/R作业?
?我们怎么加快HiveSQL的执行速度?
?编写HiveSQL的时候我们可以做些什么?
?Hive怎么将HiveQL转换成M/R作业?
?Hive将会采用什么样的优化方式?
Hivc
Hivc实现原理
1
组件分析
Hivc
Hivc实现原理
1
Hive架构执行流程
Client
Client
MetastoreHadoop
Metastore
Hadoop
Driver
Driver
Compiler
Compiler
TaobaoJavaTeam|zhou
TaobaoJavaTeam|zhouchen.zm
TaobaoJavaTeam|zhou
TaobaoJavaTeam|zhouchen.zm
Hivc
Hivc实现原理
1
Hive执行流程
?编译器将HiveSQL转换成一组操作符(Operator)
?操作符是Hive的最小处理单元
?每个操作符处理代表一道HDFS操作或MapReduce作业
Client
Client
HadoopDriverMetastore
Hadoop
Driver
Metastore
Compiler
Compiler
Hivc
Hivc实现原理
1
Hive执行流程
?操作符
操作符
描述
TableScanOperator
扫描hive表数据
ReduceSinkOperator
创建将发送到Reducer端的Key,Value对
JoinOperator
Join两份数据
SelectOperator
选择输出列
FileSinkOperator
建立结果数据,输出至文件
FilterOperator
过滤输