Hive有哪些特点?

作者 : 开心源码 本文共1225个字,预计阅读时间需要4分钟 发布时间: 2022-05-12 共174人阅读

Hive是为理解决什么问题,Hive产生的背景,我们以这个为引子,开展答复。

1,MapReduce编程的不变性,假如要解决少量数据解决的任务,会有肯定的门槛,并且操作起来不方便。
2,Hdfs上的文件缺少Schema。例如:缺少 字段名,数据类型等,不方面数据进行有效管理。
3,用于处理海量结构化数据的统计问题
4,假如使用MapReduce等计算框架,学习成本比较高
5,在项目周期比较短的情况下,假如使用mapReduce或者者其它的开发框架进行开发,无法满足项目对时间的要求。

我们从具体应用场景下看看Hive处于hadoop生态系统的什么位置:

如图:Hive以Hdfs为基本的文件存储,以MapReduce为执行引擎。所以Hive天然就具有了Hdfs,MapReduce的特性。

hive的位置

我们和传统数据库进行比照看看Hive有哪些优势和不足,当然这种不足是特定场景下的,也是Hive不擅长的领域。

hive的编写语法和传统的sql相似,核心的是hive有一套不同与sql的语法规则,最终被解释为mapReduce任务。hive只适合在海量数据下进行批量数据统计分析。

hive和RDBMS比照

我们在来看看hive和mapReduce之间的关系,如图:

hive和mapReduce的关系

在来看看hive的内部结构示用意

hive的内部结构示用意

Driver组件:

SQL Parser:编译器,将HQL转换成笼统语法树。
Query Optimizer:查询优化器
Physical Plan,SerDes,Udfs:执行器
解释器、编译器、优化器完成 HQL 查询语句从词法分析、语法分析、编译、优化以及查询计划的生成。生成的查询计划存储在HDFS 中,并在随后有 MapReduce 调用执行。
Metastore组件:Hive将元数据存储在数据库中。Hive 中的元数据包括表的名字,表的列和分区及其属性,表的属性(能否为外部表等),表的数据所在目录等

Hive解决命令的流程示用意

SQL Parser将SQL语句转换成笼统语法树—>生成逻辑执行计划—->查询优化—-> 物理执行计划(SerDes序列化与反序列化,UDFs,执行引擎)

上面主要是从整体上详情hive,已经hive相关的组件,最后总结下hive有哪些特点:

1,hive推迟高,适合高吞吐量,批量,海量数据解决。
2,语法和SQL类似,学习成本低,避免去写复杂的MapReduce,缩短开发周期。
3,Hive支持自由的扩展集群的规模,一般不需要重启服务。
4,Hive支持自己设置函数,客户可以根据自己的需求去定义函数。
5,良好的容错性,节点出现问题,SQL依然可以成功执行。
。。
整体上来说是继承了HDFS和MapReduce的特点。


假如您觉得我用心了,觉得您有所收获,麻烦关注下我吧,您的关注就是我的动力,由于有你,我就不是一个人在前行。

数据僧

欢迎来找 数据僧 一起讨论大数据相关的问题。评论区留言,我们一起探讨。

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » Hive有哪些特点?

发表回复