这几天写了WordCount.java。里面有段驱动代码:
Configuration conf = new Configuration();
Job job = Job.getInstance(conf, WordCountApp.class.getSimpleName());// 要执行任务得创建一个job对象
job.setJarByClass(WordCountApp.class);// 打成jar包,这行代码是必须的
FileInputFormat.setInputPaths(job, args[0]);// 设置输入路径
job.setMapperClass(MyMapper.class);// 把MyMapper告诉job
job.setMapOutputKeyClass(Text.class);// 设置map输出的key的类型
job.setMapOutputValueClass(LongWritable.class);// 设置map输出的value的类型
job.setReducerClass(MyReducer.class);// 把MyReducer告诉job
job.setOutputKeyClass(Text.class);// 设置输出的key的类型
job.setOutputValueClass(LongWritable.class);// 设置输出的value的类型
FileOutputFormat.setOutputPath(job, new Path(args[1]));// 设置输出路径
job.waitForCompletion(true);// 把任务提交到集群去执行
我一看,咦!这个Job挺面生啊。就ctrl点进去看看。
结果悲剧了><
出现了source not found
根据以往的经验,这时候要引入包了。
尝试1:
把hadoop-2.6.0.tar.gz解压后,又压缩成hadoop-2.6.0.zip。点那个attch resource的按钮->选择external location->external file->选择hadoop-2.6.0.zip->OK
结果并没有什么卵用
尝试2:
看到网上有人说源码包如何如何。一拍脑门,源码包里不是要啥有啥!说干就干!
找到apache官网下载hadoop-2.6.0-src.tar.gz
链接:http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.6.0/
把hadoop-2.6.0-src.tar.gz解压后,又压缩成hadoop-2.6.0-src.zip。点那个attch resource的按钮->选择external location->external file->选择hadoop-2.6.0-src.zip->OK