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

ops/2025/3/31 21:58:36/

目录

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/ops/16465.html

相关文章

联想用万全智算,画出中国AI的山脊

如果我们把欧亚大陆看作一个整体,会发现中国是一个有几座山脉的超大半岛,横断山脉与天山、阴山、昆仑山、南岭、大兴安岭,一横五纵的山脊,描绘出了中华大地的轮廓。 一方水土的休养生息,需要山脉作为屏障;一…

低空经济和无人机

低空经济和无人机是当前科技领域中的两个热门话题,它们的发展互为促进,共同推动着低空经济持续发热,投资主线也愈发清晰。 低空经济是指以低空空域为活动场所,以各类低空飞行器为运载工具,所衍生的各类经济形态、经济…

Android --- RecycleView

RecyclerView是官方在5.0之后新添加的控件&#xff0c;推出用来替代传统的ListView和GridView列表控件。 使用 RecyclerView 步骤 在布局文件中定义的一个 RecyclerView 实例&#xff0c;用作视图的容器。 <?xml version"1.0" encoding"utf-8"?>…

JavaScript云LIS系统概述 前端框架JQuery+EasyUI+Bootstrap医院云HIS系统源码 开箱即用

云LIS系统概述JavaScript前端框架JQueryEasyUIBootstrap医院云HIS系统源码 开箱即用 云LIS&#xff08;云实验室信息管理系统&#xff09;是一种结合了计算机网络化信息系统的技术&#xff0c;它无缝嵌入到云HIS&#xff08;医院信息系统&#xff09;中&#xff0c;用于连…

HTTP接口调用时报错 java.io.IOException: Connection reset by peer解决办法

问题描述 在接口调用时,遇到如下报错:Caused by: java.io.IOException: Connection reset by peer at sun.nio.ch.FileDispatcherImpl.write0(Native Method) ~[?:1.8.0_241] at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47) ~[?:1.8.0_…

社交巨头与去中心化:解析Facebook在区块链的角色

在数字化时代&#xff0c;社交媒体已经成为人们日常生活中不可或缺的一部分。作为全球最大的社交媒体平台&#xff0c;Facebook 在社交领域的影响力无可置疑。然而&#xff0c;随着区块链技术的崛起&#xff0c;Facebook 也开始探索如何将这一技术应用于其平台&#xff0c;以适…

MongoDB的UTCDateTime如何使用

使用MongoDB的UTCDateTime类来存储当前的UTC日期和时间。UTCDateTime对象在MongoDB中表示一个日期&#xff0c;但是它不是PHP的DateTime类。如果你想把UTCDateTime对象格式化为可读的字符串需要先把UTCDateTime对象转换成PHP的DateTime类 方法 (new MongoDB\BSON\UTCDateTime…

短视频账号矩阵系统===4年技术源头打磨

短视频矩阵系统技术源头打磨需要从多个方面入手&#xff0c;以下是一些建议&#xff1a; 1. 基础技术研发&#xff1a;不断投入资金和人力进行基础技术研发&#xff0c;包括但不限于视频处理、人工智能、大数据等技术&#xff0c;以提高短视频矩阵系统的性能和稳定性。 2. 优化…