Hive (一) 简介

Hive 是基 于 Hadoop 的一个数据仓库工具,可以将 结构化的数据文件映射为一张数据库表,并提供简单的 sql 查询功能,可以将 sql 语句转换为 MapReduce 任务进行运行。 其优点是学习成本低,可以通过类 SQL 语句快速实现简单的 MapReduce 统计,不必开发专门的 MapReduce 应用,十分适合 数据仓库 的统计分析。
 
适用场景
Hive 的最佳使用场合是大数据集的批处理作业,例如,网络日志分析。
 
Hive 构建在基于静态批处理的 Hadoop 之上,Hadoop 通常都有较高的延迟并且在作业提交和调度的时候需要大量的开销。
Hive 并不提供实时的查询和基于行级的数据更新操作,不适合那些需要低延迟的应用,例如,联机事务处理。
 
设计特征
Hive 是一种底层封装了 Hadoop 的数据仓库处理工具,使用类 SQL 的 HiveQL 语言实现数据查询,所有 Hive 的数据都存储在 Hadoop 兼容的文件系统(例如,Amazon S3、HDFS)中。Hive 在加载数据过程中不会对数据进行任何的修改,只是将数据移动到 HDFS 中 Hive 设定的目录下,因此,Hive 不支持对数据的改写和添加,所有的数据都是在加载的时候确定的。Hive 的设计特点如下。
● 支持索引,加快数据查询。
● 支持不同的存储类型,例如,纯文本文件、HBase 中的文件。
● 将元数据保存在关系数据库中,大大减少了在查询过程中执行语义检查的时间。
● 可以直接使用存储在 Hadoop 文件系统中的数据。
● 内置大量用户函数 UDF 来操作时间、字符串和其他的数据挖掘工具,支持用户扩展 UDF 函数来完成内置函数无法实现的操作。
● 类 SQL 的查询方式,将 SQL 查询转换为 MapReduce 的 job 在Hadoop集群上执行。

猜你喜欢

转载自bibithink.iteye.com/blog/2263126