Hive主要适用的应用场景如下。
1)日志分析。大部分互联网公司使用Hive进行日志分析。Web日志中包含大量人们(主要是产品分析人员)感兴趣的信息,通过Hive,我们可以从这些信息中获取网站每类页面的PV(PageView,页面访问量)值、独立IP数(即去重之后的IP数量)等,也可以计算得出用户所检索的关键词排行榜、用户停留时间最高的页面等,还可以构建广告单击模型,分析用户行为特征等。
2)多维度数据分析。通过HiveQL语句,我们可以按照多个维度(即多个角度)对数据进行观察和分析。多维的分析操作是指通过对多维形式组织起来的数据进行切片、切块、聚合、钻取、旋转等分析操作,以求剖析数据,使用户能够从多种维度、多个侧面、多种数据综合度查看数据,从而深入地了解包含在数据中的信息和规律。
3)海量结构化数据离线分析。高度组织和整齐格式化的数据被称为结构化数据。Hive可以将结构化数据文件映射为一张数据库表,然后通过HiveQL语句进行查询分析。因为Hive的执行延迟比较高,所以它更适合处理大数据,对于处理小数据则没有优势。而且HiveQL语句最终会转换成MapReduce任务执行,所以Hive更适用于对实时性要求不高的离线分析场景,而不适用于实时计算的场景。