【Hadoop】-Apache Hive概述 Hive架构[11]

server/2024/9/24 17:31:47/

目录

Apache Hive概述

一、分布式SQL计算-Hive

二、为什么使用Hive

Hive架构

一、Hive组件


Apache Hive概述

Apache Hive是一个在Hadoop上构建的数据仓库基础设施,它提供了一个SQL-Like查询语言来分析和查询大规模的数据集。Hive将结构化查询语言(SQL)语句转换为MapReduce任务或Tez任务,并在Hadoop集群上执行这些任务。

Hive的设计目标是为数据分析提供高效和易用的工具。它支持大规模的数据处理,并且可以处理PB级的数据。Hive的查询语言类似于传统的SQL,这使得开发人员和分析人员可以更轻松地使用它进行数据探索和分析

一、分布式SQL计算-Hive

对数据进行统计分析,SQL是目前最为方便的编程工具。
大数据体系中充斥着非常多的统计分析场景所以,使用SQL去处理数据,在大数据中也是有极大的需求的。

但我们hadoop里边的MapReduce支持程序开发(Java、python),但不支持SQL开发

如果有一个什么办法,让我们大数据体系内支持SQL的话,这样就好办了。那怎么样支持呢?这就是我们的Apache Hive了。

Apache Hive是一款分布式SQL计算的工具,其主要功能是:

  • 将SQL语句翻译成MapReduce程序运行

基于Hive为用户提供了分布式SQL计算能力,写的是SQL、执行的是MapReduce。

二、为什么使用Hive

现在很少有人去写MapReduce代码了,主要就是因为有一点就是MapReduce的代码写起来非常非常复杂。

使用Hadoop MapReduce直接处理数据所面临的问题

  • 人员学习成本太高,需要掌握java、python等编程语言
  • MapReduce实现复杂查询逻辑开发难度太大

使用Hive处理数据的好处

  • 操作接口采用类SQL语法,提供快速开发的能力(简单、容易上手
  • 底层执行MapReduce,可以完成分布式海量数据的SQL处理

Hive架构

一、Hive组件

  • 元数据存储

通常是存储在关系数据库如 mysql/derby 中。Hive中的元数据包括表的名字,表的列和分区及其属性,表的属性(是否为外部表等),表的数据所在目录等。

-----Hive提供了MetaStore服务进程提供元数据管理功能。

  • SQL解析器(Driver驱动程序)、包括语法解析器、计划编译器、优化器、执行器

完成SQL查询语句从词法分析、语法分析、编译、优化以及查询计划的生成。生成的查询计划存储在HDFS中,并在随后有执行引擎调用执行。

这部分内容不是具体的服务进程,而是分装在Hive所依赖的Jar文件即Java代码中。

Hive架构图


http://www.ppmy.cn/server/16667.html

相关文章

正点原子[第二期]Linux之ARM(MX6U)裸机篇学习笔记-6

前言: 本文是根据哔哩哔哩网站上“正点原子[第二期]Linux之ARM(MX6U)裸机篇”视频的学习笔记,在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。…

STM32之HAL开发——FSMC控制带控制器LCD(8080时序)

STM32FSMC模拟8080接口时序 ILI9341的8080通讯接口时序可以由STM32使用普通I/O接口进行模拟,但这样效率太低,STM32提供了一种特别的控制方法——使用FSMC接口实现8080时序。 由于FSMC外设可以用于控制扩展的外部存储器,而MCU对液晶屏的操作实…

二 SpringMVC接收数据

SpringMVC接收数据 一 访问路径以及指定请求方法 Controller public class UserController {/*** WebSevlet (" 必须以/开头")* RequstMapping(" 不要求 / 开头 ")*1. 精准地址 ,多个 ("地址1“,”地址2“)* 2. 支持模糊查询…

go进行大文件的分块并发处理

以下是我在文心一言获得的答案 我的疑问是:文件的每一行是一条完整的请求数据,文件分块会不会破坏一行的数据呢? 文件的每一行是一条完整的请求数据,当我们将文件按照行分块时,是不会破坏单行数据的完整性的。这是因为…

先进制造aps专题三 为什么java语言不适合作为aps算法的开发语言

为什么java语言不适合作为aps算法的开发语言 主要两个原因 1 java的list在特定位置插入,其实是重新生成一个新list,而不像c就是指针操作 2 数据量大,运行时间长,会跑崩 所以商业aps产品,都是清一色的用c写aps算法 先进制造…

el-tree 或 el-tree-select 根据条件,控制节点的显示隐藏

目录 情况概述方案:render-content(树节点的内容区的渲染 Function)代码如下 情况概述 要求el-tree-select 中的节点 根据节点状态来进行显示隐藏(状态字段为status,显示:‘1’,隐藏&#xff1…

在Spring Boot应用中实现阿里云短信功能的整合

1.程序员必备程序网站 天梦星服务平台 (tmxkj.top)https://tmxkj.top/#/ 2.导入坐标 <dependency><groupId>com.aliyun</groupId><artifactId>aliyun-java-sdk-core</artifactId><version>4.5.0</version></dependency><…

《架构风清扬-Java面试系列第27讲》Java中如何正确优雅关闭线程?

这道题也是容易答错的题目之一&#xff0c;原因是因为有一个stop方法容易误导大家 一般也是考核工作三年以内的小伙伴&#xff0c;不属于有难度的题目 但由于出现频率不低&#xff0c;所以&#xff0c;钊哥有必要跟小伙伴们聊一聊 来&#xff0c;老规矩&#xff0c;在往下看答案…