0
点赞
收藏
分享

微信扫一扫

通俗易懂 chatgpt 介绍

witmy 2024-06-25 阅读 37

文章目录

Apache Hive 教程

Hive Tutorial

资料来源:Hive Tutorial (tutorialspoint.com)

Hive是Hadoop中用于处理结构化数据的数据仓库基础设施工具。它驻留在Hadoop之上,对大数据进行汇总,使查询和分析变得容易

这是一个简短的教程,介绍了如何在Hadoop分布式文件系统中使用Apache Hive HiveQL。本教程可以成为你成为一个成功的Hadoop开发人员的第一步。

1. Hive-简介

1.1 学习Hive的前置知识

“大数据”一词用于大型数据集的集合,这些数据集包括巨大的容量、高速度和每天都在增加的各种数据。传统的数据管理系统难以处理大数据。因此,Apache软件基金会引入了一个名为Hadoop的框架来解决大数据管理和处理方面的挑战。

hadoop

Hadoop是一个开源框架,用于在分布式环境中存储和处理大数据。它包含两个模块,一个是MapReduce,另一个是HDFS (Hadoop Distributed File System)。这是hadoop1.x,hadoop2.x以后还引入了Yarn

Hadoop生态系统包含不同的子项目(工具),如Sqoop、Pig和Hive,用于帮助Hadoop模块。

注意:执行MapReduce操作有多种方式:


前面讲了那么多前置知识

1.2 什么是Hive?

如开头所说,Hive是Hadoop中用于处理结构化数据的数据仓库基础设施工具。它驻留在Hadoop之上,对大数据进行汇总,使查询和分析变得容易。

最初Hive是由Facebook开发的,后来Apache软件基金会接受了它,并以Apache Hive的名义将其进一步开发为开源。它被不同的公司使用。例如,Amazon在Amazon Elastic MapReduce中使用了它。


Hive不是什么?


Hive的特点

tips:OLAP=Online Analytical Processing, OLTP = Online Transaction Processing


1.3 Hive的架构

Hive的架构示意图如下:

Hive Architecture

这个组件图包含不同的单元。各单元介绍如下表:

Unit NameOperation
User InterfaceHive是一个数据仓库基础架构软件,可以创建用户和HDFS之间的交互。Hive支持的用户界面包括Hive Web UI、Hive命令行和Hive HD Insight (Windows服务器)。
Meta StoreHive选择各自的数据库服务器来存储表、数据库、表中的列、它们的数据类型和HDFS映射的模式或元数据。
HiveQL Process EngineHiveQL类似于在Metastore上查询模式信息的SQL。它是MapReduce程序的传统方法的替代品之一。不用Java编写MapReduce程序,我们可以为MapReduce作业编写查询并处理它。
Execution EngineHiveQL进程引擎与MapReduce的对接部分是Hive Execution Engine。执行引擎处理查询并生成与MapReduce结果相同的结果。它使用MapReduce的风格。
HDFS or HBASEHadoop分布式文件系统或HBASE是将数据存储到文件系统中的数据存储技术。

1.4 Hive的工作流程

Hive和Hadoop之间的工作流程如下图所示。

How Hive Works

下表定义了Hive与Hadoop框架的交互方式:

Step No.Operation
1执行查询:Hive接口(如Command Line或Web UI)将查询发送给驱动程序(任何数据库驱动程序,如JDBC、ODBC等)执行。
2驱动程序获得计划:驱动程序借助查询编译器对查询进行解析,检查查询的语法和查询计划或查询的要求。
3编译器获取元数据:编译器向Metastore(任何数据库)发送元数据请求。
4Metastore发送元数据:Metastore发送元数据作为对编译器的响应。
5编译器发送计划:编译器检查需求并将计划重新发送给驱动程序。至此,查询的解析和编译已经完成。
6执行引擎执行计划:驱动程序将执行计划发送给执行引擎。
7MapReduce执行作业(job):在内部,执行任务的进程是一个MapReduce任务。执行引擎将作业发送给位于Name节点中的JobTracker,并将该作业分配给位于Data节点中的TaskTracker。这里,查询执行MapReduce作业。
7.1执行引擎进行元数据操作:同时在执行过程中,执行引擎可以通过Metastore执行元数据操作。
8执行引擎获取结果:执行引擎接收来自Data节点的结果。
9执行引擎发送结果:执行引擎将这些结果值发送给驱动程序。
10驱动程序发送结果:驱动程序将结果发送给Hive接口。

未完待续,点个赞呗

举报

相关推荐

0 条评论