十四、运行经典案例 wordcount

1、新建一个文本

  • 执行命令:
bash 复制代码
vim wordcount.txt
  • 输入以下内容:
bash 复制代码
Hello Hadoop
Bye Hadoop

2、上传文本到 HDFS

  • 在正式上传前,要先开启服务啊(已开启的可以忽略):
bash 复制代码
start-all.sh
  • 在 HDFS 文件系统中新建一个 input 目录:
bash 复制代码
hdfs dfs -mkdir /input
  • 确认 input 目录是否创建成功:
bash 复制代码
hdfs dfs -ls /
  • 上传 wordcount.txt 文件到 input 目录:
bash 复制代码
hdfs dfs -put wordcount.txt /input
  • 确认文件是否上传成功:
bash 复制代码
hdfs dfs -ls /input

3、运行 wordcount

进入 Hadoop 自带的经典案例目录:

bash 复制代码
cd /opt/module/hadoop-3.2.1/share/hadoop/mapreduce

执行 wordcount 并将结果输出值 output 目录:

bash 复制代码
hadoop jar hadoop-mapreduce-examples-3.2.1.jar wordcount /input /output

这条命令是在 Hadoop 环境中运行 MapReduce 示例程序中的 "词频统计(wordcount)" 任务,各部分含义如下:

  • hadoop: HADOOP_HOME/bin 下的 shell 脚本

  • jar: Hadoop 脚本需要的命令参数

  • hadoop jar:Hadoop 提供的用于运行 JAR 包中 MapReduce 程序的命令。

  • hadoop-mapreduce-examples-3.2.1.jar:Hadoop 自带的 MapReduce 示例程序 JAR 包(版本号 3.2.1,需与实际 Hadoop 版本对应),其中包含了 wordcount 等经典示例。

  • wordcount:指定要运行的示例程序类名,这里即词频统计程序,作用是统计输入文本中每个单词出现的次数。

  • /input:HDFS 上的输入目录路径,该目录下存放待统计的文本文件(需提前通过hdfs dfs -put等命令上传)。

  • /output:HDFS 上的输出目录路径,程序运行成功后,统计结果会写入该目录(注意:该目录必须是不存在的,否则会报错,需提前删除或更换名称)。

执行后,MapReduce 会自动完成 "映射(Map)" 和 "归约(Reduce)" 过程,最终在/output目录下生成结果文件(通常是part-r-00000),包含每个单词及其出现次数。

4、查看结果

查看运行结果所在的目录:

bash 复制代码
hdfs dfs -ls /output

查看 wordcount 运行结果:

bash 复制代码
hdfs dfs -cat /output/part-r-00000
相关推荐
HHFQ17 小时前
在 systemd 场景下的 CPU 限制方式
linux
道清茗17 小时前
【RH294知识点汇总】第 9 章 《 自动执行 Linux 管理任务 》常见问题
linux·运维·服务器
山羊硬件Time17 小时前
自动化管理Linux的好工具:shell script
linux·嵌入式硬件·硬件工程师·基带工程·硬件开发
wj30558537818 小时前
Codex + Git 开发环境配置指南(WSL版)
linux·运维·git
小王毕业啦18 小时前
2005-2024年 省级-总抚养比、儿童抚养比、老年人抚养比数据(xlsx)
大数据·人工智能·数据挖掘·数据分析·社科数据·实证分析·经管数据
星马梦缘18 小时前
如何切换window-ubuntu双系统【方案二】
linux·运维·ubuntu
2501_9272835818 小时前
荣联汇智助力天津艺虹打造“软硬一体”智慧工厂,全流程自动化引领印刷包装行业数智变革
大数据·运维·数据仓库·人工智能·低代码·自动化
丑八怪大丑19 小时前
Java网络编程
linux·服务器·网络
橙子也要努力变强20 小时前
信号捕捉底层机制-机理篇2
linux·服务器·c++
还是奇怪20 小时前
AI 提示词工程入门:用好的语言与模型高效对话
大数据·人工智能·语言模型·自然语言处理·transformer