您的位置:首页 > 大数据 > Hadoop

基于Hadoop的数据仓库解决方案-Hive简介

2020-07-15 05:15 211 查看

1、什么是Hive?
Hive简单用一句话概括就是基于Hadoop的数据仓库解决方案,它始于2007年的FaceBook,官方网站是hive.apache.org。
Hive的作用主要是作为一种数据仓库用来存储数据,它可以将结构化的数据文件映射为数据库表,提供类sql的查询语言HQL(Hive Query Language),虽然Hive基于Hadoop生态环境,但是Hive的强大也让更多的人使用起了Hadoop。
在这里我要重点提一个地方,什么是数据仓库,和数据库只有一字之差,它们之间有啥区别呢?
数据库:传统的关系型数据库的主要应用,主要是基本的、日常的事务处理。
数据仓库:数据仓库系统的主要应用主要是OLAP(On-Line Analytical Processing),支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。
数据仓库是数据库概念的升级,如果说数据库是一个米袋用来存放米,那么数据仓库就是粮仓,数据仓库中的数据是来源于多个数据库的,数据库负责日常的事务处理,可以存放数据到数据仓库也可以从数据仓库中取数据,而数据仓库中存放了大量的历史数据,一般以查询为主,通过抽取、挖掘、统计,可以给决策者提供决策支持。

2、Hive的优点以及特点
提供了一个简单的优化模型
HQL类SQL语法,简化MR开发
支持在不同的计算框架上运行
支持在HDFS和HBase上临时查询数据
支持用户自定义函数、格式
成熟的JDBC和ODBC驱动程序,用于ETL和BI
稳定可靠(真实生产环境)的批处理
有庞大活跃的社区

3、Hive的发展历程以及各种版本
07年8月 – 始于Facebook
13年5月 – 0.11 Stinger Phase 1 ORC HiveServer2
13年10月 – 0.12.0 Stinger Phase 2 - ORC improvement
14年4月 – Hive 0.13.0 as Stinger Phase 3
14年11月 – Hive 0.14.0
15年2月 – Hive 1.0.0
15年5月 – Hive 1.2.0
16年2月 – Hive 2.0.0 (添加 HPLSQL, LLAP)
16年6月 – Hive 2.1.0

Hive和MapReduce
Hive提供了类SQL的的语法,便于查询,简化了MapReduce的开发,也就是说你用Java写了几十行的代码我用Hive解决几行就可以搞定。但是Hive的底层还是依靠MapReduce来执行的,并且还很慢。总而言之,MapReduce的执行效率更快,但是代码多。Hive的开发效率更快,但是语句执行的就很慢。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: