千家信息网

Hadoop中的Hive的介绍和应用

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,本文以Hadoop中的Hive工具为例,为大家分析Hive的核心概念和架构原理以及Hive的应用。阅读完整文相信大家对Hadoop中的Hive有了一定的认识。1、 Hive核心概念和架构原理1.1、
千家信息网最后更新 2026年10月31日Hadoop中的Hive的介绍和应用

本文以Hadoop中的Hive工具为例,为大家分析Hive的核心概念和架构原理以及Hive的应用。阅读完整文相信大家对Hadoop中的Hive有了一定的认识。

1、 Hive核心概念和架构原理

1.1、 Hive概念

Hive由FaceBook开发,用于解决海量结构化日志的数据统计。

Hive是基于Hadoop的数据仓库工具,可以将结构化数据映射为一张表,提供类似SQL语句查询功能

本质:将Hive SQL转化成MapReduce程序。

1.2、Hive与数据库的区别

对变项Hive数据库软件
查询语言HQLSQL
数据存储HDFSRaw Devce or Loal FS
执行器MapReduceExecutor
数据插入支持批量导入/单条插入支持单条或者批量导入
数据操作覆盖追加行级更新删除
处理数据规模大小
执行延迟高低
分区支持支持
索引0.8版本之后加入了索引支持复杂的索引
扩展性高有限
数据加载模式读时模式(快)写时模式(慢)
应用场景海量数据查询实时查询

读时模式:Hive在加载数据到表中的时候不会校验.

写时模式:Mysql数据库插入数据到表的时候会进行校验.

总结:Hive只适合用来做海量离线的数据统计分析,也就是数据仓库。

1.3、Hive的优缺点

优点:操作接口采用了类SQL语法,提供快速开发的能力,避免了去写MapReduce;Hive还支持用户自定义函数,用户可以根据自己的需求实现自己的函数。

缺点:Hive不支持纪录级别的增删改操作;Hive查询延迟很严重;Hive不支持事务。

1.4、Hive架构原理

(1)用户接口:CLI(hive shell);JDBC(java访问Hive);WEBUI(浏览器访问Hive)

(2)元数据:MetaStore

元数据包括:表名、表所属的数据库(默认是default)、表的拥有者、列/分区字段,标的类型(表是否为外部表)、表的数据所在目录。这是数据默认存储在Hive自带的derby数据库中,推荐使用MySQL数据库存储MetaStore。

(3)Hadoop集群:

使用HDFS进行存储数据,使用MapReduce进行计算。

(4)Driver:驱动器

解析器(SQL Parser):将SQL字符串换成抽象语法树AST,对AST进行语法分析,像是表是否存在、字段是否存在、SQL语义是否有误。

编译器(Physical Plan):将AST编译成逻辑执行计划。

优化器(Query Optimizer):将逻辑计划进行优化。

执行器(Execution):把执行计划转换成可以运行的物理计划。对于Hive来说默认就是Mapreduce任务。

通过Hive**对数据进行数据分析过程**:

2、 Hive交互方式

需要先启动hadoop集群和MySQL服务

2.1、Hive交互shell

cd  /opt/bigdata2.7/hive (hive的安装路径,根据自己实际情况改变)
bin/hive

可以在命令端口写上HQL语句:show databases;验证是否可用。

2.2、JDBC交互

输入hiveserver2相当于开启了一个服务端,查看hivesever2的转态

输入netstat  -nlp命令查看:

运行hiveserver2相当于开启了一个服务端,端口号10000,需要开启一个客户端进行通信,所以打开另一个窗口,输入命令beeline.

Beeline连接方式:!connect jdbc:hive2://node1:10000

主意不要省略!

当然了hiveserver2服务端可以运行在后台:

nohup hiveserver2 &

3、 Hive数据类型

3.1基本数据类型

类型名称描述举例
booleanTrue/falseTrue
tinyint1字节的有符号整数1
Smallint2字节的有符号整数1
int4字节的有符号整数1
Bigint8字节的有符号整数1
Float4字节精度浮点数1.0
Double8字节精度浮点数1.0
String字符串(不设长度)"adcadfaf"
Varchar字符串(1-65355)"adfafdafaf"
Timestamp时间戳123454566
date日期20160202

3.2复合数据类型

类型名称描述举例
Array一组有序的字段,字段类型必须相同的array(元素1,元素2)Array(1,2,4)
Map一组无序的键值对map(k1,v1,k2,v2)Map('a',1,'b',2)
Struct一组命名的字段,字段类型可以不同struct(元素1,元素2)Struct('a',1,2,0)

(1)Array字段的元素访问方式:下标获取元素,下标从0开始

比如:获取第一元素:array[0]

(2)Map字段的访问方式:通过键获取值

比如:获取a这个key对应的value:map['a']

(3)struct字段的元素获取方式:

定义一个字段c的类型为struct(a int;b string)

获取a和b的值:

create table complex(     col1 array,     col2 map,     col3 struct     )

4、 Hive数据类型转换

4.1、隐式类型转换

系统自动实现类型转换,不需要客户干预

如:tinyint可以转换成int,int可以转成bigint

所有整数类型、float、string类型都可以隐式转转换成double

tinyint、samllint、int都可以转成float

boolean不可以转成其他任何类型

4.2、手动类型转换

可以使用cast函数显示的进行数据类型转换

例如:cast('1' as int)把字符串'1'转成整数1

如果强制转换类型失败,如执行cast('x' as int)表达式返回NULL。

看完上述内容,你们对Hadoop中的Hive工具大概了解了吗?如果想了解更多相关文章内容,欢迎关注行业资讯频道,感谢各位的阅读!

数据 类型 字段 元素 支持 字节 数据库 整数 方式 模式 查询 字符 字符串 符号 分析 存储 服务 函数 原理 命令 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技公司排名 互联网科技产业 互联网和科技创新 善班互联网科技 奇酷互联网络科技公司 西安互联网科技公司 长亮科技互联网金融 深圳卡尔迅互联网科技有限公司怎么样 卫星互联网科技股票 互联网科技实习生岗位职责 小米互联网科技园设置 团飞科技与伯堂互联网服务平台 互联网保险科技创业 沐思想互联网科技有限公司 皮皮虾互联网科技有限公司 张召忠谈中国互联网科技 广州有谷有贝互联网科技有限公司 广东鹅鹅鹅互联网科技有限公司 湖北辰鑫科技互联网 上海旺乐尼互联网科技有限公司 哈尔滨大商圈互联网科技有限公司 互联网科技视频 唐信互联网科技 大连 联恩商钥互联网科技有限公司 互联网之后的科技是什么 翼展科技 首家互联网医院 互联网科技公司营业执照怎么办理 互联网领先科技宣传片 互联网科技融合创新 2021世界互联网领先科技成果发布
0