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

相关推荐
NPE~1 小时前
[docker/大数据]Spark快速入门
大数据·分布式·docker·spark·教程
的小姐姐2 小时前
AI与IIOT如何重新定义设备维护系统?_璞华大数据Hawkeye平台
大数据·人工智能
TDengine (老段)3 小时前
TDengine IDMP 最佳实践
大数据·数据库·物联网·ai·时序数据库·tdengine·涛思数据
彬彬醤3 小时前
Mac怎么连接VPS?可以参考这几种方法
大数据·运维·服务器·数据库·线性代数·macos·矩阵
星域智链3 小时前
车载 GPS 与手机导航的终极对决:谁在复杂路况下更胜一筹?
大数据·科技·ai
MaxCode-14 小时前
单智能体篇:Prompt工程艺术
大数据·人工智能·prompt
计算机毕设残哥7 小时前
大数据毕业设计推荐:基于Hadoop+Spark的手机信息分析系统完整方案
大数据·hadoop·课程设计
Hello.Reader8 小时前
Elasticsearch Rails 集成(elasticsearch-model / ActiveRecord)
大数据·elasticsearch·jenkins
代码的余温10 小时前
Elasticsearch核心概念
大数据·elasticsearch·搜索引擎
TDengine (老段)10 小时前
TDengine IDMP 应用场景:微电网监控
大数据·数据库·物联网·ai·时序数据库·tdengine·涛思数据