1.2 Hive 优缺点分析
1.2.1 优点
操作使用 HiveQL(非常类似于 SQL)语法, 对开发人员来说比较简单, 容易上手, 提供快速开发的能力.
基于 Hadoop 构建, 所以非常适合处理大批量的数据, 并且这些数据的处理对实时性的要求不高.
使用 Hive 避免了写 MapReduce, 降低了开发人员的学习成本, 和开发难度.
Hive 支持用户自定义函数, 用户可以根据自己的实际需求来自己定义相应的功能函数.
总结:
1.2.2 缺点
Hive 的 HiveQL 表达能力有限
- 迭代算法无法表达
- 数据挖掘方便不擅长
由于 Hadoop 通常有较高的延迟并且在作业和调度的时候需要大量的开销, 所以 Hive 的执行效率相对较低.
- 不适合要求延迟比较的场景. 比如为了处理在线事务.
- Hive 自动生成的 MapReduce 作业通常情况下并不智能, 不能满足复杂场景.
- Hive 调优比较困难, 粒度比较粗.