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

相关推荐
阿里云大数据AI技术10 小时前
StarRocks 助力数禾科技构建实时数仓:从数据孤岛到智能决策
大数据
Lx35215 小时前
Hadoop数据处理优化:减少Shuffle阶段的性能损耗
大数据·hadoop
武子康19 小时前
大数据-99 Spark Streaming 数据源全面总结:原理、应用 文件流、Socket、RDD队列流
大数据·后端·spark
阿里云大数据AI技术1 天前
大数据公有云市场第一,阿里云占比47%!
大数据
Lx3522 天前
Hadoop容错机制深度解析:保障作业稳定运行
大数据·hadoop
T06205142 天前
工具变量-5G试点城市DID数据(2014-2025年
大数据
向往鹰的翱翔2 天前
BKY莱德因:5大黑科技逆转时光
大数据·人工智能·科技·生活·健康医疗
鸿乃江边鸟2 天前
向量化和列式存储
大数据·sql·向量化
IT毕设梦工厂2 天前
大数据毕业设计选题推荐-基于大数据的客户购物订单数据分析与可视化系统-Hadoop-Spark-数据可视化-BigData
大数据·hadoop·数据分析·spark·毕业设计·源码·bigdata
java水泥工2 天前
基于Echarts+HTML5可视化数据大屏展示-白茶大数据溯源平台V2
大数据·echarts·html5