hadoop的第一练习,wordcount出错了。。。不知道这是怎么回事求指教。。

问题描述

hadoop的第一练习,wordcount出错了。。。不知道这是怎么回事求指教。。

有没有hadoop的前辈帮看看怎么回事,编译啊打包啊,都没错,就在最后用hadoop jar只想的时候报了错,我也看不太懂是哪里出的问题。源代码是在网上找的。

 import java.io.IOException;
import java.util.StringTokenizer;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.LongWritable;
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.input.TextInputFormat;
import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;
import org.apache.hadoop.mapreduce.lib.output.TextOutputFormat;

public class WordCount {
    public static class WordCountMap extends
            Mapper<LongWritable, Text, Text, IntWritable> {
        private final IntWritable one = new IntWritable(1);
        private Text word = new Text();

        public void map(LongWritable key, Text value, Context context)
                throws IOException, InterruptedException {
            String line = value.toString();
            StringTokenizer token = new StringTokenizer(line);
            while (token.hasMoreTokens()) {
                word.set(token.nextToken());
                context.write(word, one);
            }
        }
    }

    public static class WordCountReduce extends
            Reducer<Text, IntWritable, Text, IntWritable> {
        public void reduce(Text key, Iterable<IntWritable> values,
                Context context) throws IOException, InterruptedException {
            int sum = 0;
            for (IntWritable val : values) {
                sum += val.get();
            }
            context.write(key, new IntWritable(sum));
        }
    }

    public static void main(String[] args) throws Exception {
        Configuration conf = new Configuration();
        Job job = new Job(conf);
        job.setJarByClass(WordCount.class);
        job.setJobName("wordcount");
        job.setOutputKeyClass(Text.class);
        job.setOutputValueClass(IntWritable.class);
        job.setMapperClass(WordCountMap.class);
        job.setReducerClass(WordCountReduce.class);
        job.setInputFormatClass(TextInputFormat.class);
        job.setOutputFormatClass(TextOutputFormat.class);
        FileInputFormat.addInputPath(job, new Path(args[0]));
        FileOutputFormat.setOutputPath(job, new Path(args[1]));
        job.waitForCompletion(true);
    }
}

解决方案

1、WordCount依赖的几个类没找到导致的。

2、像hadoop相关开发,可以先在eclipse或是netbean开发,

打成jar包后,布署到linux上就可以了。 3、如果一定要在linux上开发并布署也可以,但必须要对linux上的类库加载与异常处理很熟悉。

解决方案二:

http://www.cnblogs.com/madyina/p/3708153.html

时间: 2025-01-26 21:13:13

hadoop的第一练习,wordcount出错了。。。不知道这是怎么回事求指教。。的相关文章

java配置文件出错了不知道是哪求解决

问题描述 java配置文件出错了不知道是哪求解决 ``` org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in file [I:workspace.metadata.pluginsorg.eclipse.wst.server.coretmp1wtpwebappscbWEB-INFclassesspring-mvc-a

一段MATLAB程序运行不出来,不知道哪里出错了,跪求高手解答

问题描述 一段MATLAB程序运行不出来,不知道哪里出错了,跪求高手解答 %%%%%从o点出发达到目的地 function [chengyong,shuru,wq1,wq2]=gengxin(pfangan,guanxi,tm,chengyong,kchy) %%%若选择的为1-2,选择可供使用的方案(尽量满装) tf=find(pfangan(:,1)<=kchy(1,1)&pfangan(:,2)<=kchy(1,2)); if length(tf)>0 %%%方案存在(可以

java 运算-小白求助,我想实现如下功能,可是代码不知道哪出错了

问题描述 小白求助,我想实现如下功能,可是代码不知道哪出错了 public boolean panduanNullCondition(XSSFRow from, Properties source) { boolean N = true; boolean Y = true; ArrayList<Boolean> al = new ArrayList<Boolean>(); ArrayList<Boolean> Al = new ArrayList<Boolean&

typedef-凸包问题,但是不知道哪里出错了

问题描述 凸包问题,但是不知道哪里出错了 代码部分: #include #include #include #include using namespace std; #define MaxNode 1000 int stack[MaxNode]; int top; struct POINT { int x; int y; }; struct POINT point[MaxNode]; void swap(struct POINT point[], int m, int n){//点之间的数据交

最近在学习AD14在进行多通道制图编译时出现了子端口与图纸入口没有连接错误,不知道是哪里出错了,

问题描述 最近在学习AD14在进行多通道制图编译时出现了子端口与图纸入口没有连接错误,不知道是哪里出错了, 2C

update-C# 对Excel进行写操作,但只能在每列的第一行进行更新填写,到底是哪里出错了?

问题描述 C# 对Excel进行写操作,但只能在每列的第一行进行更新填写,到底是哪里出错了? try { this.conOleDB.Open(); command = new OleDbCommand(string.Format(""UPDATE [{0}${1}:{2}] Set F1=""{3}"""" new object[] { sheetName cellName cellName value2Write }) t

Ext运行页面出错:&amp;amp;#x27;events&amp;amp;#x27;为空或不是对象,不知道什么地方出错了!

问题描述 <body><scripttype="text/javascript"language="javascript">functionallFunction(){init();initTabPanel()}functioninit(){newExt.Viewport({layout:'border',items:[{region:'north',html:'n',title:'北',height:100,collapsible:true

js-JS中用getJSON访问一个JSON文件,不知道哪里出错了,能帮忙看看吗

问题描述 JS中用getJSON访问一个JSON文件,不知道哪里出错了,能帮忙看看吗 <!DOCTYPE html> <html> <head> <title>联系人</title> <script src="C:/Users/dell/Desktop/me/jquery/jquery.js" type="text/javascript"></script> </head>

android-安卓:我想数据库里面存储数据,但是确定之后显示我活动崩溃了,真不知道哪里出错了

问题描述 安卓:我想数据库里面存储数据,但是确定之后显示我活动崩溃了,真不知道哪里出错了 首先是我的数据库类: 然后是我的存储代码: 最后是LOG: 请各位大神帮我看看抽时间,小弟我刚接触数据库,听说挺重要的,一定要弄会啊 解决方案 楼主要养成好习惯,还有空指针是最容易犯的错误,要学会如何排查,加油!本地数据库不难 解决方案二: http://www.cnblogs.com/Excellent/archive/2011/11/19/2254888.html 解决方案三: 对象没有实例化,Book