大数据技术之Hive1

1、Hive基本概念

1.1 定义

hive是基于hadoop的一个数据仓库工具,可以将结构化数据文件映射成一张表,并提供类SQL查询功能。

本质:将HQL转化为MapReduce程序

特点:

1,Hive处理的数据存储在HDFS

2,Hive分析数据底层的默认实现是Mapreduce

3,执行程序运行在yarn上

1.2 优缺点

优点:

1,简单,容易上手

2,避免了去写mapreduce

3,hive的执行延迟比较高,适用于处理大数据,对实时性要求不高的场合,hive支持用户自定义函数

缺点:

HQL表达能力有限

Hive的效率比较低

1.3 Hive架构原理

1,用户接口 Client

CLI(hive shell)、JDBC/ODBC(java 访问 hive)、WEBUI(浏览器访问 hive)

2,元数据 Metastore

元数据包括:表名、表所属的数据库(默认是 default)、表的拥有者、列/分区字段、表的类型(是否是外部表)、表的数据所在目录等;

3,Hadoop

使用HDFS进行存储,使用mapreduce进行计算

4,驱动器:Driver

解析器:将SQL字符串转换成抽象语法树AST ,一般用第三方工具库完成

编译器:将AST编译生成逻辑执行计划

优化器:对逻辑执行计划进行优化

执行器:把逻辑执行计划转换成可以运行的物理计划。对于hive来说,就是MR/spark

用户建表--表中导入数据 -- 存储在数据文件中 --元数据库 --

用户查询 -- hive解析器+元数据 --- 体系架构

hive给用户提供一系列接口,接收到用户的SQL指令,使用自己的Driver,结合元数据metastore,将这些指令翻译成mapreduce,提交到hadoop后执行,执行的结果再输出到用户交互接口

1.4 hive和数据库比较

hive是为数据仓库而设计的。

1)数据存储位置

hive是建立在hadoop之上的,所有hive的数据都是存储在HDFS中的,而数据库则可以将数据保存在块设备或者本地文件系统中

2)数据更新

数据仓库的内容是读多写少的,因此,hive中不建议对数据的改写,所有的数据都是在加载的时候确定好的。

数据库中的数据通常是需要进行修改的,可以使用insert into ...values 添加数据。update ...set ...更改数据

3)索引

hive很少建立索引,要访问满足条件的特定值时,需要暴力扫描整个数据,因此访问延迟较高。所以hive不适合在线数据查询

数据库中,通常会针对一个或者几个列建立索引,可以有较高的效率,较低的延迟

4)执行

hive通常是通过hadoop提供的mapreduce来实现的,而数据库通常有自己的执行引擎

5)可扩展性

hive是建立在hadoop上的,因此hive与hadoop的可扩展性是一致的,(世界上最大的 Hadoop 集群在 Yahoo!,2009 年的规模在 4000 台节点左右)

而数据库由于ACID语义的限制,扩展行非常有限,目前最先进的并行数据库 Oracle 在理论上的扩展能力也只有 100 台左右。

6)数据规模

hive可支持很大规模的数据

数据库可以支持的数据规模较小

2、Hive安装

2.1 Hive 安装地址

1.Hive 官网地址

http://hive.apache.org/

2.文档查看地址

https://cwiki.apache.org/confluence/display/Hive/GettingStarted

3.下载地址

http://archive.apache.org/dist/hive/

相关推荐
代码匠心1 天前
从零开始学Flink:Flink SQL四大Join解析
大数据·flink·flink sql·大数据处理
武子康2 天前
大数据-242 离线数仓 - DataX 实战:MySQL 全量/增量导入 HDFS + Hive 分区(离线数仓 ODS
大数据·后端·apache hive
SelectDB3 天前
易车 × Apache Doris:构建湖仓一体新架构,加速 AI 业务融合实践
大数据·agent·mcp
武子康4 天前
大数据-241 离线数仓 - 实战:电商核心交易数据模型与 MySQL 源表设计(订单/商品/品类/店铺/支付)
大数据·后端·mysql
IvanCodes4 天前
一、消息队列理论基础与Kafka架构价值解析
大数据·后端·kafka
武子康5 天前
大数据-240 离线数仓 - 广告业务 Hive ADS 实战:DataX 将 HDFS 分区表导出到 MySQL
大数据·后端·apache hive
字节跳动数据平台6 天前
5000 字技术向拆解 | 火山引擎多模态数据湖如何释放模思智能的算法生产力
大数据
武子康6 天前
大数据-239 离线数仓 - 广告业务实战:Flume 导入日志到 HDFS,并完成 Hive ODS/DWD 分层加载
大数据·后端·apache hive
字节跳动数据平台7 天前
代码量减少 70%、GPU 利用率达 95%:火山引擎多模态数据湖如何释放模思智能的算法生产力
大数据
得物技术7 天前
深入剖析Spark UI界面:参数与界面详解|得物技术
大数据·后端·spark