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

devtools/2024/10/21 13:39:46/

目录

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/devtools/16732.html

相关文章

NVIDIA智算中心“产品”上市,AI工业革命的iPhone时刻

GTC 2024落下帷幕了,但这个大会的信息仍在AI产业和经济中发酵。咨询机构WIKIBON认为,GTC 2024在整个科技史中的意义超过了当年史蒂夫乔布斯的iPod和iPhone发布。在AI将永久改变人类的共识下,GTC 2024在广度、愿景、生态系统等方面都有着深远影…

OpenCV 实现霍夫圆变换

返回:OpenCV系列文章目录(持续更新中......) 上一篇:OpenCV实现霍夫变换 下一篇:OpenCV 实现重新映射 目标 在本教程中,您将学习如何: 使用 OpenCV 函数 HoughCircles()检测图像中的圆圈。 理论 Hough 圆变换 H…

Java在物联网和嵌入式系统中的应用

Java在物联网和嵌入式系统中的应用 一、引言 随着信息技术的快速发展,物联网和嵌入式系统已经成为当今社会的热点领域。它们为我们的生活带来了前所未有的便利和智能化。而Java作为一种功能强大、跨平台的编程语言,在物联网和嵌入式系统中的应用也日渐…

WPF之Button组件

button是WPF中的按钮控件,通常配合click执行一系列操作。 Button控件的属性 Content: 内容。 Height: 高度。 Width: 宽度。 Margin: 外边距 Padding: 内边距 HorizontalAlignment 和 VerticalAlignment: 按钮内容的水平和对齐方式以及垂直对齐方式。 Background 和…

56、回溯-子集

思路: 子集很好理解,当然也要包括空和本身。其他的就是当前数组的一部分元素了。如何解决呢? 对于当前值来说,我可以不要,也可以要,两种方式,下一个也是,一直到indexlength为止&am…

OpenHarmony语言基础类库【@ohos.util.HashMap (非线性容器HashMap)】

HashMap底层使用数组链表红黑树的方式实现,查询、插入和删除的效率都很高。HashMap存储内容基于key-value的键值对映射,不能有重复的key,且一个key只能对应一个value。 HashMap和[TreeMap]相比,HashMap依据键的hashCode存取数据&…

OpenCV 实现重新映射

返回:OpenCV系列文章目录(持续更新中......) 上一篇:OpenCV 实现霍夫圆变换 下一篇 :OpenCV实现仿射变换 目标 在本教程中,您将学习如何: 一个。使用 OpenCV 函数 cv::remap 实现简单的重新…

每周一算法:最短路计数

题目描述 给出一个 N N N个顶点 M M M 条边的无向无权图,顶点编号为 1 1 1 到 N N N。 问从顶点 1 1 1 开始,到其他每个点的最短路有几条。 输入格式 第一行包含 2 2 2 个正整数 N , M N,M N,M,为图的顶点数与边数。 接下来 M M …