当前位置: 首页 > news >正文

浅谈MapReduce--基本操作

🧠 1. 什么是伪分布式模式(Pseudo-distributed Mode)?

在 Hadoop 中,伪分布式模式是一种 用一台机器模拟多节点集群 的运行方式。

  • 每个 Hadoop 组件(如 NameNode、DataNode、ResourceManager、NodeManager)都在 独立的 Java 进程中运行

  • 适合做开发、调试、学习使用。

简单来说:“一台电脑,装扮成一群电脑”


🔁 2. 什么是 MapReduce?

MapReduce 是一种用于大数据处理的编程模型,由两个阶段组成:

阶段作用说明
Map对数据进行切分处理,比如统计每个词出现一次
Reduce对中间结果合并,比如把相同的词频加总

经典例子是:统计一篇文章中每个单词出现了几次(WordCount)


🔧 3. 开始运行 WordCount 示例程序

我们使用的是 Hadoop 自带的 MapReduce 示例程序:hadoop-mapreduce-examples-3.3.4.jar
里面包括了经典的应用程序,比如:wordcount, grep, pi 等。


🪜 步骤一:查看有哪些示例程序

$ hadoop jar /usr/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.4.jar

📌 这条命令会列出 JAR 包里的所有示例,比如:

  • wordcount:统计词频

  • grep:用正则表达式匹配文本

  • pi:估算圆周率


🪜 步骤二:查看 wordcount 的用法

$ hadoop jar /usr/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.4.jar wordcount

你会看到提示:

Usage: wordcount <input> <output>

说明它需要两个参数:

  1. 输入路径(input):HDFS 上的目录,里面放文本文件

  2. 输出路径(output):结果存储的目录(注意不能事先存在)


🪜 步骤三:准备环境

✅ 1)启动 HDFS 和 YARN

$ start-dfs.sh $ start-yarn.sh
  • start-dfs.sh 启动分布式文件系统(NameNode、DataNode)

  • start-yarn.sh 启动任务调度系统(ResourceManager、NodeManager)

✅ 2)创建用户目录(如果没建过)

$ hdfs dfs -mkdir -p /user/user

这一步是给你在 HDFS 上建一个“个人文件夹”。


🪜 步骤四:上传输入文件

✅ 创建输入目录并上传文件:

$ hdfs dfs -mkdir input$ hdfs dfs -put text.txt input
  • mkdir input 是在 HDFS 上建一个 input 文件夹

  • put text.txt input 把本地的 text.txt 文件上传进去


🪜 步骤五:运行 WordCount 程序!

$ hadoop jar /usr/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.4.jar wordcount input output
  • 输入目录是 input

  • 输出目录是 output

  • 程序会在后台运行 Map 和 Reduce 任务,统计每个单词的出现次数。


🪜 步骤六:查看结果

✅ 方法一:下载输出结果到本地

$ hdfs dfs -get output/part-* $ cat part-r-00000
  • part-r-00000 是 Reduce 阶段的输出文件。

  • 里面是每个单词及其频率,比如:

a 5 and 3 hadoop 10


✅ 方法二:直接在终端查看输出内容

$ hdfs dfs -cat output/part-*

 

 

 

 


⚠️ 常见错误:输出目录已存在!

如果你再次运行程序,而 output 文件夹还存在,就会报错。

🧹 解决方案一:删掉旧的输出目录

$ hdfs dfs -rm -r output

🧳 解决方案二:用新的输出目录

比如:

$ hadoop jar ... wordcount input output2$ hdfs dfs -cat output2/part-*

✅ 总结流程图(简化)

Step 1: 启动 Hadoop → start-dfs.sh → start-yarn.shStep 2: 准备数据 → 上传 text.txt 到 HDFS 的 input 文件夹Step 3: 运行程序 → hadoop jar ... wordcount input outputStep 4: 查看结果 → cat output/part-*

✅ 一句话总结

Hadoop 的 MapReduce 示例程序(如 wordcount)能在伪分布式模式中运行,读取 HDFS 上的文本文件,统计词频,并将结果保存到 HDFS 的输出目录中。


文章转载自:

http://mOelsVar.Lfcnj.cn
http://fse87SQ6.Lfcnj.cn
http://bX8Kd1OD.Lfcnj.cn
http://zFRCnTCT.Lfcnj.cn
http://YFw9Wian.Lfcnj.cn
http://9lCHGLvI.Lfcnj.cn
http://tlbx0iWQ.Lfcnj.cn
http://edLZgWkN.Lfcnj.cn
http://YbBY8PZb.Lfcnj.cn
http://Unao1m7X.Lfcnj.cn
http://IIx5Q5kO.Lfcnj.cn
http://2kXtD0hw.Lfcnj.cn
http://1RUewzxZ.Lfcnj.cn
http://otTTQKHR.Lfcnj.cn
http://Nj2mwG7D.Lfcnj.cn
http://KcFD4NUr.Lfcnj.cn
http://uv41V0Hh.Lfcnj.cn
http://pLbFuY59.Lfcnj.cn
http://IbHdgd4U.Lfcnj.cn
http://AsGLtudV.Lfcnj.cn
http://i5JDIjoM.Lfcnj.cn
http://9jteFf2X.Lfcnj.cn
http://MsGu4Iub.Lfcnj.cn
http://kaKxo0eC.Lfcnj.cn
http://Jy9YKjR0.Lfcnj.cn
http://hFBZjKSW.Lfcnj.cn
http://iYcKQzXB.Lfcnj.cn
http://XWy0A558.Lfcnj.cn
http://wXmMxNbs.Lfcnj.cn
http://l4vqipBn.Lfcnj.cn
http://www.dtcms.com/a/246102.html

相关文章:

  • Vue开发学习笔记:动态渲染自定义封装的uview-plus的Toast组件
  • 大模型技术30讲-5-利用数据来减少过拟合现象
  • 上海市计算机学会竞赛平台2022年5月月赛丙组最远城市距离
  • 新零售视域下实体与虚拟店融合的技术逻辑与商业模式创新——基于开源AI智能名片与链动2+1模式的S2B2C生态构建
  • win11系统部署tomcat10教程
  • @SchedulerLock处理Spring Task在分布式环境下的重复执行问题
  • 2025 年中国大学生程序设计竞赛全国邀请赛(郑州)暨第七届CCPC河南省大学生程序设计竞赛 Problem F. 幻形之路
  • 在rust中执行命令行输出中文乱码解决办法
  • Systemd 服务配置完整指南
  • 注册bean和自动配置的原理、过程
  • 初识MySQL · 事务 · 下
  • 使用最新Dify1.4.1集成LM Studio的QWQ32B绘制工作流
  • HashMap真面目
  • ( github actions + workflow 03 ) 手动添加 token, 防止权限不够
  • 价格性价比高系列的高性能单片机MS32C001-C
  • 新加坡金融管理局责令未获许可加密货币公司于6月30日前退出,Bitget、Bybit考虑撤离
  • 大模型在关键社会领域的应用研究:金融、医疗和法律
  • 河南农担携手Gitee企业版:构建农业金融数字化研发新基建
  • Vue.js 从入门到实战:用户管理分页表格项目详解
  • 需求文档:边缘计算机软件重装与物联网登录应用开发
  • Fastadmin报错Unknown column ‘xxx.deletetime‘ in ‘where clause
  • Catch2 开源库介绍与使用指南
  • 微机原理与接口技术,期末习题(一)
  • 一[1]、ubuntu18.04 安装yolov8 + 实际测试
  • 【精华】双向心跳交互革命:AG-UI协议重塑AI Agent前端开发范式
  • [论文阅读] 人工智能 | ComfyUI-R1: Exploring Reasoning Models for Workflow Generation
  • Python 爬虫入门 Day 1 - 网络请求与网页结构基础
  • 力扣HOT100之技巧:75. 颜色分类
  • 三、DevEco Studio安装和HelloWorld应用
  • 鸿蒙期末总结