Hive概述
产生背景
- MapReduce编程的不便性
- 传统RDBMS人员的需求
- HDFS上的文件并没有schema的概念
Hive是什么
- 由Facebook开源,用于解决海量结构化日志的数据统计问题
- 构建在Hadoop之上的数据仓库(可以理解为数据存在在HDFS,可以通过MapReduce进行计算,提交在YARN上运行的)
- Hive提供的SQL查询语言:HQL
- 底层支持多种不同的执行引擎(MR/Tez/Spark,Hive构建在Hadoop之上,底层应该是MapReduce的执行引擎,MapReduce适合离线处理,执行效率不是很高, Hive从诞生之初到1.x都是支持MapReduce的,Hive2.x开始底层的默认执行引擎是Spark)
为什么要使用Hive
- 简单、容易上手
- 为超大数据集设计的计算/扩展能力
- 统一的元数据管理
Hive在Hadoop生态圈中的位置
Hive体系架构
把sql翻译成MapReduce,跑在Hadoop之上,在使用查询和管理的过程中可能会涉及到一些表一些数据库,因为Hive是基于表来操作的,这些表和数据库都是作为元数据信息存放在metastore里面的,这个metastore是存放在MysqL里面的。
- client:
- metastore ==> MysqL
- database:name、location、owner....
- table:name、location、owner、column name / type、....
- Driver
Hive部署架构
Hive是一个客户端,不涉及集群的概念,需要在哪个机器上使用Hive操作,直接在哪台机器上布上 Hive的软件包就行了
Hive和RDBMS的区别
- 支持的
- 区别的
Hive部署
下载hive-1.1.0-cdh5.15.1.tar.gz,因为之前Hadoop选择的版本是hadoop-2.6.0-cdh5.15.1,所以hive也必须选择cdh5.15.1
- 下载 & 解压
- 添加HIVE_HOME到系统的环境变量,在source一下,打开的多个控制台都要source一下,否则在以前打开的控制台上不生效
- 修改配置
-
拷贝MysqL驱动包到$HIVE_HOME/lib下
参考: 慕课网 - Hadoop 系统入门+核心精讲
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。