无锡网站程序,wordpress 关键词链接,wordpress主题安装目录,怎么做网站小图标文章作者邮箱#xff1a;yugongshiyesina.cn 地址#xff1a;广东惠州 ▲ 本章节目的
⚪ 了解HIve的概念#xff1b;
⚪ 了解HIve与数据库的区别#xff1b;
⚪ 了解HIve的特点#xff1b; 一、概述
1. Hive原本是由Facebook公司开发后来贡献给了Apache的…文章作者邮箱yugongshiyesina.cn 地址广东惠州 ▲ 本章节目的
⚪ 了解HIve的概念
⚪ 了解HIve与数据库的区别
⚪ 了解HIve的特点 一、概述
1. Hive原本是由Facebook公司开发后来贡献给了Apache的一套用于进行数据仓库管理的机制。
2. Hive提供了类SQL(HQLHive QL)语句来管理HDFS上的大量数据底层会将SQL转化为MapReduce来交给Hadoop YARN来执行因此Hive的执行效率相对比较低所以Hive适合于离线批处理场景。
二、Hive和数据库的比较
1. 查询语言数据库提供了标准的SQL语言符合三范式的设计Hive提供了类SQL语言不完全符合SQL的规则。
2. 数据存储位置数据库往往是将数据落地到本地磁盘上以文件形式来存储Hive是将数据落地到HDFS上。
3. 数据可靠数据库如果不配置那么往往是不可靠即意味着单台服务器宕机那么数据就会暂时丢失Hive的数据基于HDFS来存储HDFS支持多副本机制那么也就意味着即使某一台服务器宕机也不会产生数据的丢失。
4. 数据更新数据库往往是实时捕获数据(例如注册、订单数据等都是实时产生的)因此数据库中的数据会进行大量频繁的读写Hive中存储的数据往往是历史数据因此数据本身一般不会产生读写。
5. 索引数据库中一般会自动针对主键来建立主键索引在使用过程中也可以针对其他字段来手动建立索引由于Hive管理的数据量相对比较大所以在建表的时候并不会扫描数据因此不会自动建立索引。
6. 执行引擎数据库往往会提供自己的执行引擎Hive是将SQL转化为MapReduce来执行因此Hive是基于Hadoop YARN来执行的。
7. 可扩展性数据库要严格遵循ACID的定义所以数据库的扩展能力较差(到目前为止最大的数据库集群Oracle支持最多不超过100台服务器)Hive是基于HDFS来存储HDFS的集群规模就决定了Hive集群的扩展规模。
8. 数据规模数据库因为集群规模的限制所以能存储GB级别的数据Hive基于HDFS因此能够轻松的存储上TB级别的数据甚至于PB级别。
三、特点
1. 优点
a. 提供了类SQL来进行操作也就意味着Hive相对易于学习易于推广。
b. 避免程序员去学习MapReduce的规则在Hive底层会自动将SQL转化为MapReduce降低了程序员的学习成本。
c. Hive能够批量的处理数据因此在大数据场景中更具有优势。
d. 支持用户自定义函数允许用户根据需求定义当前场景可以使用的函数。
2. 缺点
a. Hive采用了类SQL语言使得它本身的表达能力比较有限当需求比较复杂的时候此时SQL的写法可能比较复杂甚至于SQL无法表达。
b. Hive的效率相对比较低本身MapReduce的执行效率就不高Hive还要将SQL转化为MapReduce然后才能执行所以就导致Hive的执行效率更低。
c. Hive不擅长做数据挖掘。