hive底层依赖hadoop中的哪些框架

发布网友 发布时间:2022-04-25 21:05

我来回答

1个回答

热心网友 时间:2022-04-09 18:12

1. 什么是hive 

•Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能。

•本质是将HQL转换为MapRece程序 

2. 为什么使用hive 

•操作接口采用类SQL语法,提供快速开发的能力

•避免了去写MapRece,减少开发人员的学习成本

•扩展功能很方便

3. hive 特点

•可扩展

Hive可以自由的扩展集群的规模,一般情况下不需要重启服务

•延展性

Hive支持用户自定义函数,用户可以根据自己的需求来实现自己的函数

•容错

良好的容错性,节点出现问题SQL仍可完成执行

4. hive 与hadoop 关系

发出HQL —> hive 转换成maprece —> maprece —> 对hdfs进行操作

5. hive 与传统数据对比

Hive

RDBMS

查询语言

HQL

SQL

数据存储

HDFS

Raw Device or Local FS

执行

MapRece

Excutor

执行延迟

处理数据规模

索引

0.8版本后加入位图索引

有复杂的索引

6. hive 的未来

•增加更多类似传统数据库的功能,如存储过程

•提高转换成的MapRece性能

•拥有真正的数据仓库的能力

•UI部分加强

Hive是基于Hadoop平台的,它提供了类似SQL一样的查询语言HQL。有了Hive,如果使用过SQL语言,并且不理解Hadoop MapRece运行原理,也就无法通过编程来实现MR,但是你仍然可以很容易地编写出特定查询分析的HQL语句,通过使用类似SQL的语法,将HQL查询语句提交Hive系统执行查询分析,最终Hive会帮你转换成底层Hadoop能够理解的MR Job。
对于最基本的HQL查询我们不再累述,这里主要说明Hive中进行统计分析时使用到的JOIN操作。在说明Hive JOIN之前,我们先简单说明一下,Hadoop执行MR Job的基本过程(运行机制),能更好的帮助我们理解HQL转换到底层的MR Job后是如何执行的。我们重点说明MapRece执行过程中,从Map端到Rece端这个过程(Shuffle)的执行情况,如图所示(来自《Hadoop: The Definitive Guide》)

基本执行过程,描述如下:

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com