大数据实验四-MapReduce编程实践

一.实验内容

MapReduce编程实践:

使用MapReduce实现多个文本文件中WordCount词频统计功能,实验编写Map处理逻辑、编写Reduce处理逻辑、编写main方法。

二.实验目的

1、通过实验掌握基本的MapReduce编程方法。

2、实现统计HDFS系统中多个文本文件中的单词出现频率。

三.实验过程截图及说明

1、在本地创建多个文本文件并上传到Hadoop:

(1)创建本地存放文件的文件夹:

(2)使用vim命令向文件里添加内容:

创建3个文件(words1.txt、words2.txt、words3.txt):

(3)在Hadoop里创建存放文件的目录:

(4)将本地的3个文件上传到Hadoop上【put命令】:

2、编写java代码来操作读取文件并统计:

(1)启动idea【我这里是用命令打开,你也可直接点图标打开】:

命令是:先切换到你安装idea的目录里面的bin目录,然后输入./idea.sh,不知道是输入什么的可以先输入./i,然后按下tab就会有提示,你就可以继续输入了。

(2)目录结构【这里只需要创建MapReduce即可,前面的是上次的两个实验】:

(3)编写log4j.properties文件:

(4)引入需要用到的依赖:

引入后记得点右边浮现出的Maven标志,下载一下依赖,或者右键任意空白处,找到Maven选项,然后reload。

(5)编写Mapper处理逻辑:

(6)编写Reducer处理逻辑:

(7)编写main函数驱动模块:

(8)运行main函数方法:

(9)运行成功后查看输出文件内容:

统计结果无误,试验完成。

四. 实验总结及心得体会

实验总结:

本实验使用了MapReduce框架实现了多个文本文件中的WordCount词频统计功能。通过编写Map处理逻辑,将每个文本文件中的单词进行拆分并统计数量。在Reduce处理逻辑中,对相同的单词进行合并统计,并输出最终结果。在main方法中,设置了作业的配置信息、任务类型、输入输出路径等。实验结果展示了MapReduce在大数据处理领域的高效性和可靠性。在实际应用中,可以根据需求对代码进行优化,提高性能。

心得体会:

1. MapReduce是一种强大的分布式计算模型,可以帮助我们高效地处理大规模数据。通过本次实验,我掌握了MapReduce的基本概念和编程实践,对分布式计算有了更深入的了解。

2. 在实验过程中,我学会了如何编写Map和Reduce逻辑,以及如何配置MapReduce运行环境。这为我今后处理类似问题时提供了实用的技能。

3. 实验让我认识到,分布式计算并非万能。在实际应用中,我们需要根据数据规模和计算需求来选择合适的计算框架。这对于我今后在项目中选择合适的计算技术具有重要意义。

4. 通过本次实验,我对Hadoop框架有了初步了解。在未来的学习中,我会继续探索Hadoop的相关技术,以提高数据处理能力和扩展知识面。

5. 最后,本次实验提高了我的编程能力和动手实践能力。通过不断地编写代码和调试,我掌握了更多实用的编程技巧,为今后的学习和工作打下了坚实的基础。

五、完整报告获取在开头资源挂载里。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/789573.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【机器学习】数据探索(Data Exploration)---数据质量和数据特征分析

一、引言 在机器学习项目中,数据探索是至关重要的一步。它不仅是模型构建的基础,还是确保模型性能稳定、预测准确的关键。数据探索的过程中,数据质量和数据特征分析占据了核心地位。数据质量直接关系到模型能否从数据中提取有效信息&#xff…

Vue-Electron配置及踩坑

前言 大道至简。太复杂的教程不看。 本篇将记述我创建好Vue3项目之后,用Electron把页面呈现出来的整个过程。会记录一些踩坑。 首先,Electron官网可以参考。但是它只是作出了一个普通的html结构该如何用Electron呈现出来,vue的配置有一些变…

OC分层渲染详解,OC分层渲染与云渲染区别

​OC分层渲染通过分层处理场景来提升渲染效率,而云渲染借助云服务器进行远程高性能渲染。主要差异在于OC分层渲染优化了本地渲染过程,云渲染则依靠云计算资源执行。 OC分层渲染是指什么 OC分层渲染,即Object Channel分层渲染,是一…

C语言运算符和表达式——赋值中的自动类型转换(精度损失问题)

目录 自动类型转换 数值精度损失 自动类型转换 在不同类型数据间赋值时,会发生自动类型转换 *取值范围大的类型 → 取值范围小的类型,通常是不安全的 *数值溢出(Overflow) *反之,一定都是安全的吗?…

fastlio2 给 interactive-slam 保存每帧的点云和每帧的里程计为单独的文件做后端回环优化和手动回环优化

为了给 interactive-slam 提供数据做后端回环优化和手动回环优化,需要保存每帧的点云和每帧的里程计为单独的文件,并且需要保存的名字为ros时间戳。 效果很好,比我自己写的手动回环模块好用 // This is an advanced implementation of the algorithm described in the // fo…

Golang和Java对比

其实我是Javaer转的Golang,我谈谈自己对Java和Golang的体会 我先讲讲我认为Golang的优点 1、Golang是一门新语言,相比于Java,他的生态要小很多,优点很明显,自由度高,学习成本低,能快速拉起一个…

数据结构——二叉树链式结构

目录 前言 1. 二叉树的概念及结构 1.1概念 1.2 特殊的二叉树 1.3 二叉树的性质 1.4 二叉树的存储结构 2. 二叉树链式结构实现 2.1 手动创建二叉树 2.2 二叉树的遍历 2.2.1 前序、中序和后序遍历 2.2.2 层序遍历 2.3 节点个数以及高度 2.3.1 节点个数 2.3.2 求二叉…

【云呐】固定资产清查盘点报告模板

固定资产清查盘点报告的大致框架:一、前言说明本次清查盘点的背景和目的清晰表述清查盘点的责任与相关依据二、清查盘点范围按部门或区域明确清查范围口径明确被清查项目,如所有原值一定数额以上的固定资产三、清查盘点时间确定清查盘点实施的时间节点 四、清查盘点方法描述清查…

回文数-第15届蓝桥第5次STEMA测评Scratch真题精选

[导读]:超平老师的《Scratch蓝桥杯真题解析100讲》已经全部完成,后续会不定期解读蓝桥杯真题,这是Scratch蓝桥杯真题解析第179讲。 如果想持续关注Scratch蓝桥真题解读,可以点击《Scratch蓝桥杯历年真题》并订阅合集,…

nginx与tomcat的区别?

关于nginx和tomcat的概念 网上有很多关于nginx和tomcat是什么东西的定义,我总结了一下: tomcat是Web服务器、HTTP服务器、应用服务器、Servlet容器、web容器。 Nginx是Web服务器、HTTP服务器、正向/反向代理服务器,。 这里有两个概念是交叉的&#xff…

【C++STL详解(二)】——string类模拟实现

目录 前言 一、接口总览 二、默认成员函数 1.构造函数 2.拷贝构造 写法一:传统写法 写法二:现代写法(复用构造函数) 3.赋值构造 写法一:传统写法 写法二:现代写法(复用拷贝构造) 4.析构函数 三、…

OSPF实验1

1,配置IP地址 [R1]dis ip interface brief Interface IP Address/Mask Physical Protocol GigabitEthernet0/0/0 200.1.1.1/24 up up GigabitEthernet0/0/1 10.1.1.1/24 up …

Oracle基础【7-Oracle中RMAN恢复管理器】

🌈个人主页:godspeed_lucip 🔥 系列专栏:Oracle从基础到进阶 本文对应Oracle实验报告源文件下载:公众号程序员刘同学回复oracle实验获取下载链接 实验七 RMAN恢复管理器一、实验目的二、实验环境三、实验内容1 为备份…

MySQL数据库(数据库连接池)

文章目录 1.批处理应用1.基本介绍2.批处理演示1.创建测试表2.修改url3.编写java代码 3.批处理源码分析 2.数据库连接池1.传统连接弊端分析2.数据库连接池基本介绍1.概念介绍2.数据库连接池示意图3.数据库连接池种类 3.C3P0连接池1.环境配置1.导入jar包2.将整个lib添加到项目中3…

AWS上面部署一台jenkins

问题 客户预算有限,需要在aws云上面搞一台EC2手动安装jenkins发版。 步骤 创建密钥对 在EC2服务里面创建密钥对,具体如下图: 设置密钥对,如下图: 保存好这个私钥文件,以便后续用这个私钥文件ssh登录j…

CSS水波纹效果

效果图&#xff1a; 1.创建一个div <div class"point1" click"handlePoint(1)"></div> 2.设置样式 .point1{width: 1rem;height: 1rem;background: #2ce92f;position: absolute;border-radius: 50%;z-index: 999;cursor: pointer;} 3.设置伪…

【C语言】2048小游戏【附源码】

欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 一、游戏描述&#xff1a; 2048是一款数字益智类游戏&#xff0c;玩家需要使用键盘控制数字方块的移动&#xff0c;合并相同数字的方块&#xff0c;最终达到数字方块上出现“2048”的目标。 每次移动操作&#xff0c;所…

GitLab 新项目创建和使用

一、下载 Git 客户端 Git - Downloading Package (git-scm.com) 二、打开 Git Bash 配置 gitlab 账户 下面的信息可以登录gitlab查看 git config --global user.name "yourname"git config --global user.email "youremailXX.com" 生成ssh_key ssh-k…

BioTech - AlphaFlow 项目 PyTorch Lightning + DeepSpeed 的分布式配置

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://blog.csdn.net/caroline_wendy/article/details/137348092 GitHub: https://github.com/bjing2016/alphaflow 步骤如下: 安装 DeepSpeed:需要安装 DeepSpeed。配置 Trainer:在 PyTorch Lightning 中,需要…

ELK报错,索引变成只读状态。

问题描述 今天发现当天的索引在ES中并没有创建&#xff0c;logstash中不停的报错&#xff1a; [2021-05-24T05:47:51,904][INFO ][logstash.outputs.elasticsearch] retrying failed action with response code: 403 ({“type”>“cluster_block_exception”, “reason”&g…