简介
本文介绍了Hive的起源,基本的功能特性,应用场景,并对Hive主要服务进行介绍,通过阅读本文,读者可以对Hive有基本的了解。Hive是什么
Hive是一个构建在Hadoop上的数据仓库框架,是应Facebook每天产生的海量新兴社会网络数据进行管理和学习的需求而产生和发展起来的。Hive的设计目的是让精通SQL技能的分析师能够对Facebook存放在HDFS中的大规模数据集执行查询。Hive提供了一个被称为Hive查询语言的SQL方言,用来查询存储在Hadoop集群中的数据。Hive可以将大多数的查询转换为MapReduce任务(job),进而在介绍一个令人熟悉的SQL抽象的同时,拓宽Hadoop的可扩展性。
Hive不是一个完整的数据库, Hadoop以及HDFS的设计本身约束和局限性地限制了Hive所能胜任的工作。其中最大的限制就是Hive不支持记录级别的更新、插入或者删除操作。但是用户可以通过查询生成新表或者将查询结果导人到文件中。同时,因为Hadoop是一个面向批处理的系统,而MapReduce任务(job)的启动过程需要消耗较长的时间,所以Hive查询延时比较严重。传统数据库中在秒级别可以完成的查询,在Hive中,即使数据集相对较小,往往也需要执行更长的时间。最后需要说明的是,Hive不支持事务。
因此,Hive不支持OLTP(联机事务处理)所需的关键功能,而更接近成为一个OLAP(联机分析技术)工具。但是我们将会看到,由于Hadoop本身的时间开销很大,并且Hadoop所被设计用来处理的数据规模非常大,因此提交查询和返回结果是可能具有非常大的延时的,所以Hive并没有满足OLAP中的“联机”部分,至少目前并没有满足。如果用户需要对大规模数据使用OLTP功能的语ÿ