Hadoop基础之《(11)—整合HBase+Phoenix+Hive—安装Hive》

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

一、什么是Hive

1、Hive简介
Hive是由Facebook开源基于Hadoop的一个数据仓库工具可以将结构化的数据文件映射为一张表并提供类SQL查询功能。Hive主要是做海量数据的分析和计算的。

2、为什么会有Hive它解决了什么问题
下面通过一个案例来快速了解一下Hive。
例如需求统计单词出现个数。
1在Hadoop中我们用MapReduce程序实现的需要些Mapper、Reducer和Driver三个类并实现对应逻辑相对繁琐。
2如果通过Hive SQL实现一行就搞定了简单方便容易理解。

3、Hive本质
Hive是一个Hadoop客户端用于将HQLHive SQL转化为MapReduce程序。
1Hive中每张表的数据存储在HDFS。
2Hive分析数据底层的实现是MapReduce也可配置为Spack或者Tez。
3执行程序运行在Yarn上。

二、Hive架构原理

1、架构图

2、服务
Metastore存储元数据表字段、表数据在hdfs上的路径等
HiveServer2提供jdbc或odbc访问接口提供用户认证功能
Hive ClientHive客户端

3、执行流程
1用户创建table
2Metastore中记录对应表的路径
3在hdfs中映射表关系
4用户根据业务需求编写相应的HQL语句
5Driver翻译sql为MapReduce
6提交yarn执行
7将结果写入hdfs路径或临时表
8如果是查询语句返回计算结果

4、用户接口Client
CLIcommand-line interface、JDBC/ODBC。
说明JDBC和ODBC的区别。
1JDBC的移植性比ODBC好。
2两者使用的语言不同JDBC在Java编程时使用ODBC一般在C/C++编程时使用。

5、元数据Metastore
元数据包括数据库默认是default、表名、表的拥有者、列/分区字段、表的类型是否外部表、表的数据所在目录等。
默认存储在自带的derby数据库中由于derby数据库只支持单客户端访问生产环境中为了多人开发推荐使用MySQL存储Metastore但是安装配置太麻烦。

6、驱动器Driver
1解析器SQLParser将SQL字符串转换成抽象语法树AST。
2语义分析Semantic Analyzer将AST进一步划分为QueryBlock。
3逻辑计划生成器Logical Plan Gen将语法树生成逻辑计划。
4逻辑优化器Logical Optimizer对逻辑计划进行优化。
5物理计划生成器Physical Plan Gen根据优化后的逻辑计划生成物理计划。
6物理优化器Physical Optimizer对物理计划进行优化。
7执行器Execution执行该计划得到查询结果并返回给客户端。

二、Hive安装

1、下载安装包

cd /tmp
wget https://dlcdn.apache.org/hive/hive-3.1.3/apache-hive-3.1.3-bin.tar.gz
tar -zxvf apache-hive-3.1.3-bin.tar.gz -C /appserver
cd /appserver
mv apache-hive-3.1.3-bin/ hive

2、配置环境变量

vi /etc/profile
添加
export HIVE_HOME=/appserver/hive
export PATH=$PATH:$HIVE_HOME/bin
使配置生效
source /etc/profile

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: Hadoop

“Hadoop基础之《(11)—整合HBase+Phoenix+Hive—安装Hive》” 的相关文章