最近一直在忙面试的事情,面试过程中碰到几家公司都问到了Hive,但是由于最近三年一直在忙海外数据仓库的事情,对于大数据的只限于了解,未有实际的使用,为了更好的面试,特总结了下Hive的相关知识
(1)什么是Hive
1.1 Hive是Hadoop工具家族中一个重要成员,可以将结构化的数据文件(HDFS)映射为一张数据库表。
1.2 Hive 定义了简单的类 SQL 查询语言,被称为 HQL,实现方便高效的数据查询
1.3 Hive的本质是将HQL,转换成MapReduce任务,完成整个的数据的ETL,减少编写MapReduce的复杂度
(2)Hive的体系结构
Hive架构包括如下组件:CLI(command line interface)、JDBC/ODBC、Thrift Server、Hive WEB Interface(HWI)、metastore和Driver(Complier、Optimizer和Executor)
Driver组件:核心组件,整个Hive的核心,该组件包括Complier、Optimizer和Executor,它的作用是将我们写的HQL语句进行解析、编译优化,生成执行计划,然后调用底层的MapReduce计算框架。
Metastore组件:元数据服务组件,这个组件存储hive的元数据,hive的元数据存储在关系数据库里,hive支持的关系数据库有derby、mysql。
CLI:command line interface,命令行接口。
ThriftServers:提供JDBC和ODBC接入的能力,它用来进行可扩展且跨语言的服务的开发,hive集成了该服务,能让不同的编程语言调用hive的接口。
Hive WEB Interface(HWI):hive客户端提供了一种通过网页的方式访问hive所提供的服务。这个接口对应hive的hwi组件(hive web interface)
(3)Hive的执行流程简单示意图
Hive 将通过CLI接入,JDBC/ODBC接入,或者HWI接入的相关查询,通过Driver(Complier、Optimizer和Executor),进行编译,分析优化,最后变成可执行的MapReduce。
大家看到这些是不是特别熟悉,对的这个和传统的数据库的结构非常类似,我这里找了下一个Maysql的结构
Hive 功能有点类似传统的服务协议,解析器,预处理器,优化器,查询执行计划这些功能的汇总。
只不过Hive是将HQL转换成MapReduce,而传统的数据将SQL转换成执行引擎可以识别的语言
(4)Hive的执行流程示意图(详细)
这张图是Hive执行的一个详细流程,这里面很多东西我还在学习,所以先放在这里
(5)本章总结
本章主要介绍了什么是Hive,Hive的体系结构,后面还有一系列Hive的文章
Hive学习系列(二)Hive的查询流程详解
相关推荐
Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能。 hive是基于Hadoop的一个数据仓库工具,用来进行数据提取、转化、加载,这是一种可以存储、查询和分析存储...
由于 Hive 采用了类似SQL 的查询语言 HQL(Hive Query Language),因此很容易将 Hive 理解为数据库。其实从结构上来看,Hive 和数据库除了拥有类似的查询语言,再无类似之处。本文将从多个方面来阐述 Hive ...
hive被大多数企业使用,学习它,利于自己掌握企业所使用的技术,这里从安装使用到概念、原理及如何使用遇到的问题,来讲解hive,希望对大家有所帮助。 此篇内容较多: 看完之后需要达到的目标 1.hive是什么 2.明白...
该文档目录如下: ...1.1 基于Hadoop的数据仓库Hive学习指南 1.2实验环境 1.3实验原理 1.3.1 Hive简介 1.3.2 Hive安装 1.3.3安装并配置mysql 1.3.5 Hive简单编程实践 1.3.4 Hive的常用HiveQL操作
Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张表,并提供类SQL查询功能。(1)解析器(SQL Parser):将SQL字符串转换成抽象语法树AST,这一步一般都用第三方工具库完成,比如antlr;对AST...
hive hadoo MapReduce 介绍Hive。Hive入门,Hive学习笔记
hive学习资料-hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。 其优点是学习成本低,可以通过类SQL语句快速...
Hive学习必备——配置Hive环境教程 免费分享哦~
Hive 学习笔记Hive
HIVE大数据学习资源
大规模数据查询Hive及Impala技术原理及架构
hive 的具体操作 有关于hive安装 使用等基本步骤
使用hive3.1.2和spark3.0.0配置hive on spark的时候,发现官方下载的hive3.1.2和spark3.0.0不兼容,hive3.1.2对应的版本是spark2.3.0,而spark3.0.0对应的hadoop版本是hadoop2.6或hadoop2.7。 所以,如果想要使用高...
02_Hive表批量加载数据的脚本实现(一) 03_Hive表批量加载数据的脚本实现(二) 04_HIve中的case when、cast及unix_timestamp的使用 05_复杂日志分析-需求分析 06_复杂日志分析-需求字段讲解及过滤 07_复杂日志分析...
详细介绍hive基本知识,以及实战,包括hive的安装部署
HIVE安装及详解,及测试,该文档版本是1.2+的。。。。。
hive hive hive hive hive hive hive hive hive hive hive hive
4.2.1 Hive 新增一个字段: 4 4.2.2 Hive 修改字段名/字段类型/字段位置/字段注释: 4 4.2.3 Hive 重命名表名: 4 4.3Hive 删除表: 4 5 Hive 分区 4 5.1 Hive 添加分区 4 5.2 Hive 删除分区 5 6 SHOW语句 5 7 ...
Hive学习总结及应用.pdf