目录
一、概念
1、(WHAT)我们需要先了解他是什么
2、(HOW)怎么样去使用
3、(WHY)Hive的优势是什么,为什么去使用
Hive是一个SQL转化工具,将SQL的计算转化为Mapreduce的计算,让开发人员更方便的开发
二、引言
Mysql中是结构化数据,而HDFS中储存的数据是以文件形式,所以在Mysql中可以直接通过表来查询各种数据,但在Hive中我们如何来查询数据呢❓❓❓
1、Hive如何将HDFS中的数据转化为表数据
1、元数据 用来描述表的基本信息 例如:表的字段,表名,约束条件,字段类型
2、行数据
元数据(meta store) 管理储存
行数据(HDFS) 管理储存
三、Hive的基础架构
三种客户端模式:
命令行模式 hive
第三方服务(要遵循jdbc协议) : java database connection datagrip beeline
web页面: 几乎不用
帮助我们查询元数据
HiveDriver hive驱动
解析sql语句
制定执行任务
提交mr任务
优化执行方案
执行计算任务
向yarn申请资源
从hdfs中提取数据
注意: hivedriver支持多种计算引擎, 例如 MapReduce Tez Spark
四、Hive初体验(了解)
hive依赖于hadoop的功能才能正常使用,所以启动hive前必须先启动hadoop.
start-all.sh
检查mysql服务是否可以使用
systemctl status mysqld
五、Hive客户端(重要)
💌 hive自带客户端
💌 JDBC/ODBC连接客户端 (常用)
💌 web浏览器客户端
六、hive的部署和安装方式
🥸👉👉本地模式 各个服务器不共享,不互通
🤓👉👉内嵌模式 元数据不共享,只能在当前服务器上使用
😎👉👉远程模式 增加了Thrift Server 服务 (支持JDBS连接)
七、Hive的初体验
一、启动
start-all.sh (启动全部服务)
二、检查MySQL服务是否可用
systemctl status mysqld
三、本地使用
一代客户端:1、启动meta store服务
nohup hive --service metastore & (在后台运行)
2、hive 查看 show databases;
四、JPS查看当前进程
五、远程使用
二代客户端:1、启动meta store服务
nohup hive --service metastore & (在后台运行)
2、启动hiveserver2服务
nohup hive --service hiveserver2 & (在后台运行)
3、查看是否端口被占用,可以使用
lsof -i:10000
4、通过二代客户端,使用(beeline)进行连接
!connect jdbc:hive2://node1:10000
八、使用Datagrip连接Hive
点击添加Apache hive
在driver里配置驱动,即可使用