最近一直在忙面试的事情,面试过程中碰到几家公司都问到了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安装及详解" HIVE是一种基于Hadoop的数据仓库工具,主要用于处理和分析大规模数据。下面是关于HIVE的安装及详解。 HIVE基本概念 HIVE是什么?HIVE是一种数据仓库工具,主要用于处理和分析大规模数据。它将...
Hive学习总结及应用.pdf 本文档主要介绍了Hive的基本概念、应用场景、元数据存储方式、数据导入和导出方式等。下面是对文档中提到的知识点的详细解释: 一、Hive概述 Hive是一个构建在HDFS和Map/Reduce之上的可...
【描述】:该文档是一份针对Hive的学习资料,旨在引导读者理解如何在Hadoop平台上利用Hive进行数据仓库操作和编程实践。它涵盖了Hive的基本概念、安装步骤、实验环境以及HiveQL的基本操作。 【知识点详解】: 1. *...
《王家林Hive学习资料》是一份详尽的教程,旨在帮助学员深入了解和掌握Hive这一数据仓库工具。Hive在企业Hadoop应用中扮演着核心角色,尤其在大规模离线数据分析方面表现卓越,被Facebook、淘宝等大型公司广泛采用。...
【Hive 学习资料】 Hive 是一个基于 Hadoop 的数据仓库系统,它主要设计用于处理和管理大规模数据集。Hive 提供了一个类似 SQL 的查询语言——HiveQL,使得非 MapReduce 开发者也能方便地进行大数据分析。此外,...
Hive学习必备——配置Hive环境教程 在这篇文章中,我们将详细介绍如何配置Hive环境,包括安装Hive、配置Hadoop环境、配置Hive Metastore数据库等步骤。同时,我们还将使用Xshell6工具来远程连接到Hive服务器,并...
Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能。 hive是基于Hadoop的一个数据仓库工具,用来进行数据提取、转化、加载,这是一种可以存储、查询和分析存储...
由于 Hive 采用了类似SQL 的查询语言 HQL(Hive Query Language),因此很容易将 Hive 理解为数据库。其实从结构上来看,Hive 和数据库除了拥有类似的查询语言,再无类似之处。本文将从多个方面来阐述 Hive ...
标题中提到的"Hive学习笔记-比较全的知识"和描述中所述"相当不错的,适合初学者,下载绝对不亏"意味着本篇文档旨在为初学者提供一个全面的学习指南,覆盖Hive的主要概念和操作。而标签"hive"确定了文档的中心主题是...
HIVE架构是建立在Hadoop平台上的数据仓库基础构架,提供了一系列的工具,可以用来进行数据提取转化加载(ETL),它可以存储、查询和分析存储在Hadoop中的大规模数据。HIVE架构可以分为以下几部分:用户接口、元数据...
Hive学习必备经典 Hive是一种基于Hadoop的数据仓库工具,用于数据分析和报表生成。下面是对Hive的结构、架构、基本操作和数据存储的详细介绍。 Hive结构 Hive的结构主要包括三个部分:元数据库(Metastore)、...
### Hive学习笔记——深入理解大数据处理框架 #### HIVE架构详解与Hadoop关系解析 Hive作为基于Hadoop的大数据处理框架,其架构设计旨在简化海量数据的存储、查询和分析过程。它提供了类似SQL的查询语言——HiveQL...
标题 "Hive2.x系列驱动" 指的是Hive版本2.x的客户端连接器,这些驱动程序使得应用程序能够与Hive服务器进行交互,执行SQL查询并获取数据。Hive是一个基于Hadoop的数据仓库工具,它允许用户使用SQL语言处理存储在HDFS...
总的来说,Hive作为一个数据仓库工具,其学习和使用对于处理大数据集和进行大数据分析具有重要的意义。初学者可以从Hive的安装配置和使用开始,逐步深入到Hive体系结构、HiveQL的使用、Hive函数、高级编程以及Hive的...
hive被大多数企业使用,学习它,利于自己掌握企业所使用的技术,这里从安装使用到概念、原理及如何使用遇到的问题,来讲解hive,希望对大家有所帮助。 此篇内容较多: 看完之后需要达到的目标 1.hive是什么 2.明白...
在大数据处理领域,Hive是一个非常重要的工具,它提供了一个基于Hadoop的数据仓库基础设施,用于数据查询、分析和管理大规模数据集。本教程将详细讲解如何在Linux环境下安装Hive客户端,以便进行数据操作和分析。 ...
### 大规模数据查询Hive及Impala技术原理及架构 #### 第一部分:Hive数据查询分析技术和实例介绍 **一、Hive简介** Hive 是一个基于 Hadoop 的数据仓库工具,它允许用户轻松地将结构化数据文件映射为表,并利用 ...
通过上述内容的学习,我们不仅了解了Hive的基本概念、架构和安装过程,还深入探讨了Hive如何在Hadoop生态系统中发挥作用。对于初学者而言,掌握这些基础知识是十分重要的,这将帮助他们在后续的学习过程中更加顺利地...