1、什么是Hive:
Hive是数据仓库建模的工具之一,通过向hive中写一个交互式的sql,在海量数据中查询分析得到结果的平台。
2、Hive的优缺点:
1、优点:
1、操作接口采用类sql语法,提供快速开发的能力(简单、容易上手)
2、避免了去写MapReduce,减少开发人员的学习成本
3、Hive的延迟性比较高,因此Hive常用于数据分析,适用于对实时性要求不高的场合
4、Hive 优势在于处理大数据,对于处理小数据没有优势,因为 Hive 的执行延迟比较高。(不断地开关JVM虚拟机)
5、Hive 支持用户自定义函数,用户可以根据自己的需求来实现自己的函数。
6、集群可自由扩展并且具有良好的容错性,节点出现问题SQL仍可以完成执行
2、缺点:
1、Hive的HQL表达能力有限
(1)迭代式算法无法表达 (反复调用,mr之间独立,只有一个map一个reduce,反复开关)
(2)数据挖掘方面不擅长
2、Hive 的效率比较低
(1)Hive 自动生成的 MapReduce 作业,通常情况下不够智能化
(2)Hive 调优比较困难,粒度较粗 (hql根据模板转成mapreduce,不能像自己编写mapreduce一样精细,无法控制在map处理数据还是在reduce处理数据)
3、Hive的特点:
1、可延展性
hive可以自由的扩展集群的规模,一般是不需要重启服务的。
2、延伸性
hive可以自定义函数,用户可以自己的需求自定函数。
3、容错
即使节点出现了问题,SQL依旧是可以执行完成的。
4、传统数据库和Hive的区别:
1、数据存储的位置hive的数据是存储在hdfs中,对于传统数据的数据一般是存储在本地中或者是存储在文件系统中。
2、Hive是不支持update和delete的,传统的数据库是支持数据的增删改。
3、hive的延时是比传统型数据要高的。
4、hive可以支持很大的计算规模,传统的数据库支持的数据规模会比较小。