Go...

当前位置: 首页>>世界杯1998

【Hive】深入理解Hive的优缺点以及架构原理

文章目录

一、 什么是Hive

二、 Hive的优缺点

2.1 优点

2.2 缺点

三、 Hive架构原理

3.1 用户接口:Client

3.2 元数据:Metastore

3.3 结合Hadoop

3.4 驱动器:Driver

四、 Hive和数据库比较

4.1 查询语言

4.2 数据更新

4.3 执行延迟

4.4 数据规模

一、 什么是Hive

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

本质是:将HQL转化成MapReduce程序:

(1)Hive处理的数据存储在HDFS (2)Hive分析数据底层的实现是MapReduce (3)执行程序运行在Yarn上

大部分SQL语句都封装了MR程序(类SQL),之所以封装成SQL是因为基本程序员都会这玩意。

基于MR处理: 开发者—>分析需求—>编写MR—>得到结果 基于Hive处理: 开发者—>分析需求—>编写SQL—>Hive将SQL转化成MR—>得到结果

二、 Hive的优缺点

2.1 优点

(1)操作接口采用类SQL语法,提供快速开发的能力(简单、容易上手)。 (2)避免了去写MapReduce,减少开发人员的学习成本。 (3)Hive的执行延迟比较高,因此Hive常用于数据分析,对实时性要求不高的场合。 (4)Hive优势在于处理大数据,对于处理小数据没有优势,因为Hive的执行延迟比较高。 (5)Hive支持用户自定义函数,用户可以根据自己的需求来实现自己的函数。

2.2 缺点

1)Hive的HQL表达能力有限 (1)迭代式算法无法表达,表达能力有限(复杂的逻辑算法不好封装) (2)数据挖掘方面不擅长,由于MapReduce数据处理流程的限制(比较慢,因为底层的缺点也都还在),效率更高的算法却无法实现