Hadoop-2.9.2运行WordCount.jar实现单词计数功能

本文档详细介绍了如何在Hadoop-2.9.2环境下,通过编写并运行WordCount.java程序来实现单词计数功能。首先,需要编写WordCount.java源代码,接着进行编译。然后,配置好环境变量,进行编译和打包生成WordCount.jar。最后,通过指定jar包路径和HDFS的输入、输出路径,运行WordCount.jar,将在/output/part-r-00000文件中得到统计结果。
  1. 编写WordCount.java文件
//Java Code
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Job;
import org.apache.hadoop.mapreduce.Mapper;
import org.apache.hadoop.mapreduce.Reducer;
import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;
import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;

import java.io.IOException;
import java.util.StringTokenizer;

public class WordCount {
   
   
    public static class TokenizerMapper extends Mapper<Object, Text, Text, IntWritable> {
   
   
        private final static IntWritable one = new IntWritable(1);
        private Text word =<
执行`hadoop jar`命令时提示`Not a valid JAR`错误,通常是由于JAR文件路径错误、JAR文件损坏或文件权限问题导致的。以下是一些可能的解决办法: ### 检查JAR文件路径 确保JAR文件的路径是正确的,包括文件名和版本号。在你给出的错误信息中,路径为`/develop/server/hadoop-2.7.6/hadoop-mapreduce-examples-2.7.6.jar`,需要确认该文件确实存在于这个位置。可以使用以下命令检查文件是否存在: ```bash ls /develop/server/hadoop-2.7.6/hadoop-mapreduce-examples-2.7.6.jar ``` 如果文件不存在,需要确认文件的实际位置,或者重新下载该JAR文件。参考正确的命令示例,如`hadoop jar hadoop-mapreduce-examples-2.7.6.jar wordcount /root/input/data.txt ~/output/wc1130`,这里仅指定了JAR文件名,前提是该文件在当前工作目录下[^2]。 ### 检查JAR文件是否损坏 可以尝试重新下载`hadoop-mapreduce-examples-2.7.6.jar`文件,以确保文件没有损坏。下载完成后,再次执行`hadoop jar`命令。 ### 检查文件权限 确保你有足够的权限访问该JAR文件。可以使用以下命令检查文件权限: ```bash ls -l /develop/server/hadoop-2.7.6/hadoop-mapreduce-examples-2.7.6.jar ``` 如果权限不足,可以使用以下命令修改文件权限: ```bash chmod +r /develop/server/hadoop-2.7.6/hadoop-mapreduce-examples-2.7.6.jar ``` ### 示例命令 假设文件路径正确且文件未损坏,权限也正常,可以使用以下命令运行WordCount程序: ```bash hadoop jar /develop/server/hadoop-2.7.6/hadoop-mapreduce-examples-2.7.6.jar wordcount /input /output ``` 这里`/input`是输入目录,`/output`是输出目录,输出目录在执行前不应该存在,因为Hadoop会创建它[^5]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值