技术-Hive

1,hive是什么

将SQL转换为MapReduce程序。

2,为什么使用hive

用写SQL语句来代替直接写MapReduce程序。

3,hive与hadoop的关系


4,hive与传统数据库对比

 

Hive
RDBMS
查询语言
HQL
SQL
数据存储
HDFS
Raw Device or Local FS
执行
MapReduce
Excutor
执行延迟
处理数据规模
索引
0.8版本后加入位图索引
有复杂的索引

5,Hadoop 计算框架的特性

5.1,什么是数据倾斜

由于数据的不均衡原因,导致数据分布不均匀,造成数据大量的集中到一点,造成数据热点

5.2,Hadoop框架的特性

不怕数据大,怕数据倾斜
jobs数比较多的作业运行效率相对比较低,比如即使有几百行的表,如果多次关联多次汇总,产生十几个jobs,耗时很长。原因是map reduce作业初始化的时间是比较长的。
sum,count,max,min等UDAF,不怕数据倾斜问题,hadoop在map端的汇总合并优化,使数据倾斜不成问题。
count(distinct ),在数据量大的情况下,效率较低,因为count(distinct)是按group by 字段分组,按distinct字段排序,一般这种分布方式是很倾斜的。

6,hive的原理

6.1,hive的架构



6.2,hive的执行流程

编译器将一个Hive QL转换操作符
操作符是Hive的最小的处理单元
每个操作符代表HDFS的一个操作或者一道MapReduce作业


操作符描述
TableScanOperator扫描hive表数据
ReduceSinkOperator创建将发送到Reducer端的<Key,Value>对
JoinOperatorJoin两份数据
SelectOperator选择输出列
FileSinkOperator建立结果数据,输出至文件
FilterOperator过滤输入数据
GroupByOperatorGroupBy语句
MapJoinOperator/*+mapjoin(t) */
LimitOperatorLimit语句
UnionOperatorUnion语句

6.3,编译过程
























评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值