黑马-hive学习笔记(1)

一、hadoop介绍

1.hadoop定义

        是一个分布式的大数据平台,这个平台上会有很多的组件,HDFS,Mapreduce,hive都是它生态的一部分,HDFS是一个数据存储系统,Mapreduce是一个计算引擎,hive是一个数据仓库

2.Hadoop集群

         Hadoop集群是一种分布式大数据存储和处理系统,主要由Hadoop文件系统(HDFS)和Hadoop资源管理器(YARN)组成,同时还常配合一些其他的大数据组件一起使用,例如MapReduce作业框架、Hive SQL查询引擎等。

组件介绍:

1). HDFS

定义:一种分布式文件系统,负责在整个集群中存储大数据。HDFS将一个大文件切分成多个数据块,然后分配到集群的各个节点上进行存储,同时还会保存数据的副本,以防数据丢失。

主要的服务:(1)NameNode(主):是HDFS中的主服务器,负责管理HDFS的元数据,包括文件目录树的维护,以及文件和数据块之间的映射关系。NameNode记录在哪些DataNode上存储了文件的哪些数据块,并处理来自客户端的文件访问请求。   (2)DataNode(从,每个结点都有):在HDFS中,一个集群的每个节点都会运行一个DataNode服务。这些DataNode负责在本地文件系统中存储和检索数据块,以及处理在这些数据块上的读写请求。同时,DataNode还需要定期的向NameNode报告其上存储的所有数据块信息。

HDFS Web界面的应用:

访问`http://<NameNode地址>:50070`可以查看HDFS的Web界面。其中`<namenode-hostname>`是HDFS NameNode的主机名或IP地址,`50070`是HDFS NameNode Web界面的默认端口(这个端口也可以在Hadoop的配置文件中进行设置,所以实际使用时可能会有所不同)。

在这个界面中,包含了HDFS集群的总体状态,比如文件系统的目录树、存储速率、存储占用和空闲情况等,还能看到各个DataNode的状态和健康状况,以及它们所存储的数据块信息。

这些Web界面基本上是只读的,你可以使用它们来查看集群的状态,但不能用它们来提交作业或操作文件系统。这些任务通常通过命令行或程序接口来完成。

2). YARN

定义:Hadoop的资源管理和任务调度组件。YARN负责管理集群中的CPU、内存等资源,并负责安排并发的作业和任务运行。

主要的服务:(1)ResourceManager(主):是Hadoop的YARN组件中的核心服务,负责整个集群的资源管理和任务调度。ResourceManager根据应用的资源需求(CPU,内存等)来分配资源,并决定任务在哪个NodeManager上运行。  (2)NodeManager(从,每个结点都有):是Hadoop的YARN组件中运行在每个节点的服务。每个NodeManager负责管理其所在节点的资源,并定期向ResourceManager汇报节点的资源使用情况。同时,NodeManager会执行ResourceManager分派的任务,并报告任务运行状态。

YARN web界面的应用:

访问`http://<ResourceManager地址>:8088`可以查看YARN的Web界面。其中`<ResourceManager的地址>`是你的ResourceManager的主机名或者IP地址,`8088`是Yarn的默认web界面端口号。

在Yarn的web界面中,一般可以查看到集群中运行的、已完成的、失败的和挂起的应用程序(Application)信息,以及每个NodeManager节点的状态,以及集群的详细的资源使用情况。

这些Web界面基本上是只读的,你可以使用它们来查看集群的状态,但不能用它们来提交作业或操作文件系统。这些任务通常通过命令行或程序接口来完成。

二、Hive的运行机制

          每一个数据仓库都有两种功能,存储数据和处理数据。但是hive比较聪明,它利用HDFS存储数据,利用MapReduce查询分析数据。那么 hive本身 承担了什么角色呢?用户写完sql之后,hive需要针对sql进行语法校验,并根据记录的元数据信息解读sql背后的含义,制定执行计划。并且把执行计划转换成MapReduce程序来执行,把执行的结果封装返回给用户,相当于是起到了一个sql语句检验-转化-返回结果这么一个作用。下图可以看作是用户使用hive的全流程:对于用户来说,只需要涉及到步骤12;但是对于hive本身来说,整个的流程都需要参与。

三.hive的架构图

       从上到下依次为

      用户接口(也叫做客户端):包括 CLI(shell命令行)、JDBC/ODBC(Hive中的Thrift服务器允许外部客户端通过网络与Hive进行交互,类似于JDBC或ODBC协议)、WebGUI(浏览器访问)。

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

       Driver驱动程序,包括语法解析器、计划编译器、优化器、执行器:完成 HQL 查询语句从词法分析、语法分析、编译、优化以及查询计划的生成。生成的查询计划存储在 HDFS 中,并在随后有执行引擎调用执行。

     执行引擎:Hive本身并不直接处理数据文件。而是通过执行引擎处理。当下Hive支持MapReduce、Tez、Spark3种执行引擎。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值