Hive 简介
Hive与Hadoop的关系
Hive是Hoop生态圈中的一个工具,是基于Hadoop的一个数据仓库工具。该项目是由Facebook于2008年开发并源,贡献给了Apache基金会。
Hive可以将结构化的数据文件映射为一张数据库表,并提供简单的SQL(HQL)查询功能,可以将HQL语句转换为MapReduce任务进行运行,Hiv实现了简单的MapReduce统计,解决了需要使用JAVA开发MapReduce的应用,降低了开发与学习成本。
HDFS是Hive数据仓库的存储支持,MapReduce是Hive数据仓库分析计算引擎。也就是Hive的数据是存储在HDFS之上的,Hive为什么能处理数据,是因为将HQL语言转化为了Mapreduce的job,并运行在Hadoop上。
数据仓库的选型
传统的数据仓库方案有很多,如Oracle、DB2、Mysql、Sql Server等等。 Hive适用于大数据级的,批处理作业,数据量一般是在PB级,如互联网中的,网络日志分析,用户行为分析。但Hiv不能在大规模数据集上实现低延迟的快速查询工作,Hive不适合用于联机事务处理,还有Hive是基于HDFS(HDFS文件的特性:一次写入,不可更新),一般Hive是不提供基于行级的数据更新操作(Hive2.0支持Update.)HIv的特点
简单易用
– 基于SQL表达式语法,兼容大部分SQL-92语义和部分SQL-2003扩展语义 ;可扩展重点内容
– Hive基于Hadoop实现,可以自由的扩展集群的规模,一般情况下丌需要重启服务 ;延展性
– Hive支持用户自定义函数,用户可以根据自己的需求来实现自己的函数 ;容错性
– Hadoop良好的容错性,节点出现问题SQL仍可完成执行Hive的发展
目前有两个分支:1.x;2.x
注:该文章主要整理www.dataguru.cn的学习笔记。