首页 > 其他分享 >【大数据技术基础 | 实验十】Hive实验:部署Hive

【大数据技术基础 | 实验十】Hive实验:部署Hive

时间:2024-11-13 18:16:08浏览次数:3  
标签:HDFS 部署 Hadoop hive MapReduce 实验 Hive

在这里插入图片描述

文章目录


一、实验目的

  1. 理解Hive存在的原因;
  2. 理解Hive的工作原理;
  3. 理解Hive的体系架构;
  4. 并学会如何进行内嵌模式部署;
  5. 启动Hive,然后将元数据存储在HDFS上。

二、实验要求

  1. 完成Hive的内嵌模式部署;
  2. 能够将Hive数据存储在HDFS上;
  3. 待Hive环境搭建好后,能够启动并执行一般命令。

三、实验原理

Hive是Hadoop 大数据生态圈中的数据仓库,其提供以表格的方式来组织与管理HDFS上的数据、以类SQL的方式来操作表格里的数据,Hive的设计目的是能够以类SQL的方式查询存放在HDFS上的大规模数据集,不必开发专门的MapReduce应用。

Hive本质上相当于一个MapReduce和HDFS的翻译终端,用户提交Hive脚本后,Hive运行时环境会将这些脚本翻译成MapReduce和HDFS操作并向集群提交这些操作。

当用户向Hive提交其编写的HiveQL后,首先,Hive运行时环境会将这些脚本翻译成MapReduce和HDFS操作,紧接着,Hive运行时环境使用Hadoop命令行接口向Hadoop集群提交这些MapReduce和HDFS操作,最后,Hadoop集群逐步执行这些MapReduce和HDFS操作,整个过程可概括如下:
(1)用户编写HiveQL并向Hive运行时环境提交该HiveQL。
(2)Hive运行时环境将该HiveQL翻译成MapReduce和HDFS操作。
(3)Hive运行时环境调用Hadoop命令行接口或程序接口,向Hadoop集群提交翻译后的HiveQL。
(4)Hadoop集群执行HiveQL翻译后的MapReduce-APP或HDFS-APP。

由上述执行过程可知,Hive的核心是其运行时环境,该环境能够将类SQL语句编译成MapReduce。

Hive构建在基于静态批处理的Hadoop之上,Hadoop通常都有较高的延迟并且在作业提交和调度的时候需要大量的开销。因此,Hive并不能够在大规模数据集上实现低延迟快速的查询,例如,Hive在几百MB的数据集上执行查询一般有分钟级的时间延迟。

因此,Hive并不适合那些需要低延迟的应用,例如,联机事务处理(OLTP)。Hive查询操作过程严格遵守Hadoop MapReduce的作业执行模型,Hive将用户的HiveQL语句通过解释器转换为MapReduce作业提交到Hadoop集群上,Hadoop监控作业执行过程,然后返回作业执行结果给用户。Hive并非为联机事务处理而设计,Hive 并不提供实时的查询和基于行级的数据更新操作。Hive的最佳使用场合是大数据集的批处理作业,例如,网络日志分析。

Hive架构与基本组成如图所示:

在这里插入图片描述

四、实验环境

  • 云创大数据实验平台:
    在这里插入图片描述
  • Java 版本:jdk1.7.0_79
  • Hadoop 版本:hadoop-2.7.1
  • Hive 版本:hive-1.2.1

五、实验内容和步骤

相对于其他组件,Hive部署要复杂得多,按metastore存储位置的不同,其部署模式分为内嵌模式、本地模式和完全远程模式三种。当使用完全模式时,可以提供很多用户同时访问并操作Hive,并且此模式还提供各类接口(BeeLine,CLI,甚至是Pig),这里我们以内嵌模式为例。
由于使用内嵌模式时,其Hive会使用内置的Derby数据库来存储数据库,此时无须考虑数据库部署连接问题,整个部署过程可概括如下。

(一)安装部署

在master机上操作:首先确定存在Hive

ls /usr/cstor/hive/ 

在这里插入图片描述

(二)配置HDFS

先为Hive配置Hadoop安装路径。

待解压完成后,进入Hive的配置文件夹conf目录下,接着将Hive的环境变量模板文件复制成环境变量文件。

cd /usr/cstor/hive/conf
cp hive-env.sh.template hive-env.sh
vim hive-env.sh

这里使用cp命令而不是mv命令,是因为我们可以备份一份之前的文件,我们只是复制一份修改,而不是替换。

在配置文件中加入以下语句:

HADOOP_HOME=/usr/cstor/hadoop

在这里插入图片描述

然后在HDFS里新建Hive的存储目录,进入hadoop的bin目录内:

cd /usr/cstor/hadoop/

在HDFS中新建/tmp/usr/hive/warehouse两个文件目录,并对同组用户增加写权限。

bin/hadoop fs -mkdir /tmp
bin/hadoop fs -mkdir -p /usr/hive/warehouse
bin/hadoop fs -chmod g+w /tmp
bin/hadoop fs -chmod g+w /usr/hive/warehouse

在这里插入图片描述

(三)启动Hive

在内嵌模式下,启动Hive指的是启动Hive运行时环境,用户可使用下述命令进入Hive运行时环境。

启动Hive命令行:

cd /usr/cstor/hive/
bin/hive

在这里插入图片描述

六、实验结果

(一)启动结果

使用bin/hive命令进入Hive环境验证Hive是否启动成功。

cd /usr/cstor/hive/
bin/hive

在这里插入图片描述

(二)Hive基本命令

进入Hive环境后,使用show tablesshow function后如下图所示则表示配置成功。

显示表:

show tables;

在这里插入图片描述

因为目前我们没有创建表所以返回了一个OK。

显示Hive内置函数:

show functions;

在这里插入图片描述

退出Hive环境:

exit;

七、实验心得

  通过本次Hive部署实验,我深刻理解了Hive在Hadoop大数据生态圈中的重要地位和作用。Hive作为一个数据仓库,不仅提供了以表格方式组织和管理HDFS上数据的便利,更以类SQL的方式简化了对大规模数据集的操作,极大地降低了开发成本。

  在实验过程中,我学习了Hive的内嵌模式部署方法,掌握了如何将Hive数据存储在HDFS上,并成功启动了Hive环境。通过实际操作,我深刻体会到了Hive环境搭建的复杂性和细致性,每一个步骤都需要谨慎操作,稍有疏忽就可能导致部署失败。

  同时,我也认识到Hive并非为联机事务处理而设计,其查询操作过程严格遵守Hadoop MapReduce的作业执行模型,因此在大规模数据集上实现低延迟快速查询方面存在一定的局限性。这使我更加明确了Hive的最佳使用场合——大数据集的批处理作业。此外,我还学会了使用Hive的基本命令,如查看表格和函数等,这些命令为我在后续的实验和学习中提供了有力的支持。

  总之,本次Hive部署实验不仅让我掌握了Hive的部署和使用方法,更让我对Hive的工作原理和体系架构有了更深入的理解。我相信,在未来的学习和工作中,我将能够更好地运用Hive来处理和分析大规模数据集。

:以上文中的数据文件及相关资源下载地址:
链接:https://pan.quark.cn/s/b0f6f0d06704
提取码:PNp2

标签:HDFS,部署,Hadoop,hive,MapReduce,实验,Hive
From: https://blog.csdn.net/Morse_Chen/article/details/143380972

相关文章

  • SpringBoot医院管理系统5nr0z--程序+源码+数据库+调试部署+开发环境
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、项目背景随着医疗技术的不断进步和医疗需求的日益增长,医院管理面临着前所未有的挑战。传统的医院管理方式已难以满足现代医疗服务的需要,存在信......
  • SpringBoot医疗信息共享平台k09w0(程序+源码+数据库+调试部署+开发环境)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、研究背景与意义随着信息技术的飞速发展,医疗领域正逐步迈向数字化、智能化。医疗信息共享平台作为连接医疗机构、患者及医疗数据的关键纽带,对于......
  • ceph的部署方式
    方式一:ceph-deploy(ceph的原生部署工具):●(1)ceph-deploy是一种部署ceph的方法,它仅依赖于SSH访问服务器、而后借助sudo和一些Python模块就可以实现部署。●(2)它完全在工作站(管理主机)上运行,不需要任何服务、数据库或类似的东西。●(3)它不是一个通用的部署系统,它只是为......
  • 谷歌浏览器的实验性功能介绍
    谷歌浏览器(GoogleChrome)作为全球最受欢迎的网络浏览器之一,以其快速、稳定和丰富的扩展功能而闻名。除了常见的功能外,Chrome还提供了许多实验性功能,这些功能可以通过启用一些隐藏的标志来访问。本文将详细介绍如何启用和使用这些实验性功能,同时也会涉及到一些常见问题的解决方......
  • CloudFormation部署Amazon Bedrock Connector
    AmazonBedrockConnector(简称BRConnector)是一个开源项目,旨在简化AmazonBedrock生成式AI服务的集成过程。本文将指导您如何使用CloudFormation模板快速部署BRConnector。支持的区域目前,CloudFormation模板已在以下区域验证:us-east-1us-west-2©ivwdcwso(ID:u01217......
  • 使用 WinNTSetup 来安装 Windows 11 24H2 或 Windows Server 2025 可以帮助你快速创建
    使用WinNTSetup来安装Windows1124H2或WindowsServer2025可以帮助你快速创建和部署操作系统。以下是详细的步骤:1.准备工作在开始之前,确保你已经具备以下条件:WinNTSetup 工具。可以从官方网站或者其他可信的来源下载WinNTSetup。Windows1124H2或WindowsServe......
  • 实验四 PL/SQL编程
    一、实验目的及要求(1)掌握PL/SQL块结构、PL/SQL的基本语法、PL/SQL的控制结构。(2)掌握PL/SQL块中使用复合数据类型和游标的方法。(3)掌握PL/SQL异常处理技术。(4)掌握存储过程、存储函数、触发器高级数据库对象的基本作用。(5)掌握存储过程、存储函数、触发器的建......
  • springboot毕设高校毕业生就业岗位推荐系统源码+论文+部署
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容一、研究背景随着高校的不断扩招,毕业生数量逐年递增,就业市场的竞争日益激烈。在这样的大环境下,高校毕业生面临着巨大的就业压力。一方面,毕业生需要花费大量的......
  • springboot毕设基于JavaWeb的校园点餐平台源码+论文+部署
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容一、研究背景随着校园数字化建设的不断推进以及学生生活节奏的加快,传统的校园餐饮模式面临着诸多挑战。目前,校园内餐饮需求多样且分散,学生在点餐过程中往往需......
  • DApp开发:定制化解决方案与源码部署的一站式指南
    去中心化应用(DApp)随着区块链技术的发展,成为众多行业探索与创新的重要方向。无论是金融、供应链、游戏,还是社交和艺术市场,DApp都为传统业务模式带来了全新可能。然而,开发一款DApp并非易事,从合约设计到前后端的搭建,再到部署与安全性考虑,整个过程涉及多项技术和策略。在这里,我们将......