Hadoop自带字数统计程序wordcount异常

本文介绍了解决在运行Hadoop WordCount任务时遇到的读取任务输出错误的具体步骤。通过删除Hadoop安装目录下logs文件夹内的userlogs文件夹,可以有效解决这一问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



在执行hadoop jar /usr/local/hadoop/hadoop-example-1.0.4.jar wordcount data out时出现WARN mapred.JobClient: Error reading task outputhttp://ubuntu.ubuntu-domain:50060/tasklog?plaintext=true&taskid=attempt_201103151252_0001_m_000004_1&filter=stdout错误提示

解决方案:删除/usr/local/hadoop/logs/路径下的userlogs(Hadoop安装路径下的logs文件夹里面的userlogs)

### Hadoop自带单词统计程序示例及使用方法 Hadoop自带单词统计程序WordCount)是一个经典的MapReduce示例,用于计算输入文本文件中每个单词出现的次数[^2]。以下是关于如何使用Hadoop自带WordCount程序的具体说明: #### 1. 准备输入数据 将需要处理的输入文件上传到HDFS上的指定目录。例如,可以使用以下命令将本地文件`input`上传到HDFS中的`bigdata43`文件夹: ```bash hadoop fs -put input bigdata43 ``` 此命令会将本地的`input`文件复制到HDFS的`bigdata43`目录下[^1]。 #### 2. 运行WordCount程序 运行Hadoop自带WordCount程序,可以通过以下命令实现: ```bash hadoop jar /opt/cloudera/parcels/CDH/jars/hadoop-mapreduce-examples-3.0.0-cdh6.2.0.jar wordcount bigdata43/input bigdata43/output/output1 ``` 上述命令中: - `/opt/cloudera/parcels/CDH/jars/hadoop-mapreduce-examples-3.0.0-cdh6.2.0.jar` 是包含WordCount示例的JAR包路径。 - `bigdata43/input` 是输入数据所在的HDFS路径。 - `bigdata43/output/output1` 是输出结果存储的HDFS路径[^1]。 如果遇到类似“jar is not exist or …”的错误,可能是因为JAR包路径不正确。解决办法是使用工具(如WinSCP)找到正确的Hadoop安装目录下的JAR包路径,并确保路径无误[^3]。 #### 3. 程序逻辑 WordCount程序的核心逻辑分为Map和Reduce两个阶段: - **Map阶段**:将输入的文本按行读取,并将每行拆分为单词,输出每个单词及其计数为1的键值对。具体代码如下: ```java import org.apache.hadoop.io.LongWritable; import org.apache.hadoop.io.Text; import org.apache.hadoop.mapreduce.Mapper; public class MyMapper extends Mapper<LongWritable, Text, Text, LongWritable> { @Override protected void map(LongWritable key, Text value, Context context) { String line = value.toString(); String[] words = line.split(" "); for (String word : words) { try { context.write(new Text(word), new LongWritable(1)); } catch (Exception e) { e.printStackTrace(); } } } } ``` - **Reduce阶段**:接收来自Map阶段的输出,按照相同的键(即单词)进行分组,并对每个单词的所有计数值求和,最终输出每个单词及其总出现次数[^4]。 #### 4. 查看输出结果 运行完成后,可以在HDFS的指定输出目录中查看结果。例如: ```bash hadoop fs -cat bigdata43/output/output1/part-r-00000 ``` 此命令会显示WordCount程序生成的结果文件内容。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值