大数据技术之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/

相关推荐
沃达德软件2 小时前
智慧警务图像融合大数据
大数据·图像处理·人工智能·目标检测·计算机视觉·目标跟踪
陈奕昆5 小时前
n8n实战营Day3:电商订单全流程自动化·需求分析与流程拆解
大数据·开发语言·人工智能·自动化·需求分析·n8n
semantist@语校5 小时前
第五十一篇|构建日本语言学校数据模型:埼玉国际学院的城市结构与行为变量分析
java·大数据·数据库·人工智能·百度·ai·github
赵渝强老师5 小时前
【赵渝强老师】阿里云大数据集成开发平台DataWorks
大数据·阿里云·云计算
xieyan08116 小时前
卖出与止损策略
大数据
Elastic 中国社区官方博客6 小时前
使用 LangChain 和 Elasticsearch 开发一个 agentic RAG 助手
大数据·人工智能·elasticsearch·搜索引擎·ai·langchain·全文检索
z***02606 小时前
Python大数据可视化:基于大数据技术的共享单车数据分析与辅助管理系统_flask+hadoop+spider
大数据·python·信息可视化
知识分享小能手6 小时前
openEuler入门学习教程,从入门到精通,openEuler 24.03 环境下 Hadoop 全面实践指南(19)
大数据·hadoop·openeuler
艾莉丝努力练剑6 小时前
时光织网:基于Rokid AI眼镜的家庭智能协同中枢设计与实现
大数据·人工智能·kotlin·rokid
jiayong238 小时前
Elasticsearch 完全指南:原理、优势与应用场景
大数据·elasticsearch·搜索引擎