1.导入hadoop需要用到的包

hadoop-2.4.2/share/hadoop/mapreduce/*.jar

hadoop-2.4.2/share/hadoop/mapreduce/lib/*.jar

hadoop-2.4.2/share/hadoop/common/*.jar

hadoop-2.4.2/share/hadoop/common/lib/*.jar

2.编写java程序

package demo;

import java.io.IOException;

import java.util.*;

import org.apache.hadoop.conf.Configuration;

import org.apache.hadoop.fs.Path;

import org.apache.hadoop.io.*;

import org.apache.hadoop.mapred.*;

public class WordCount {

public static class Map extends MapReduceBase implements Mapper{

private final static IntWritable one=new IntWritable(1);

private Text word=new Text();

@Override

public void map(LongWritable key,  Text value,

OutputCollector output, Reporter reporter)

throws IOException {

// TODO Auto-generated method stub

String line=value.toString();

StringTokenizer tokenizer=new StringTokenizer(line);

while (tokenizer.hasMoreTokens()){

word.set(tokenizer.nextToken());

output.collect(word,one);

}

}

}

//旧版本

public static class Reduce extends MapReduceBase implements Reducer{

@Override

public void reduce(Text key, Iterator values,

OutputCollector output, Reporter reporter)

throws IOException {

// TODO Auto-generated method stub

int sum=0;

while(values.hasNext()){

sum+=values.next().get();

}

output.collect(key, new IntWritable(sum));

}

}

public static void main(String[] args) throws Exception{

// TODO Auto-generated method stub

//System.setProperty("HADOOP_USER_NAME","root");

JobConf conf=new JobConf(WordCount.class);

//conf.set("fs.defaultFS","hdfs://192.168.1.120:9000");

conf.setJobName("wordcount");

conf.setOutputKeyClass(Text.class);

conf.setOutputValueClass(IntWritable.class);

conf.setMapperClass(Map.class);

conf.setReducerClass(Reduce.class);

conf.setInputFormat(TextInputFormat.class);

conf.setOutputFormat(TextOutputFormat.class);

FileInputFormat.setInputPaths(conf,new Path(args[0]));

FileOutputFormat.setOutputPath(conf,new Path(args[1]));

JobClient.runJob(conf);

}

}

3.导出为jar文件

4.上传到linux系统中。

5.新建input目录,如果有output目录,先删除

6.上传jar包后,到jar包的目录下,执行

hadoop jar WordCount.jar demo.WordCount /input/* /output/

7.如果执行时不带“/”,会在hadoop目录中新建/user/root下新建两个文件夹,会提示

Exception in thread "main" org.apache.hadoop.mapred.InvalidInputException: Input path does not exist: file:  /input  Exception in thread "main"

org.apache.hadoop.mapreduce.lib.input.InvalidInputException: Input path does not

exist: hdfs://master:9000/user/root/input

只需要在执行的时候带上“/”就行。

8.获取分离后的文件

hadoop fs -get /output/* output/

wordcount.java_hadoop 的wordcount java实验相关推荐

  1. java实验报告二_Java实验报告(实验二)

    (1)伪代码  (2)产品代码  (3)测试代码 a.首先在虚拟机中建立一个以自己学号命名的文件夹,以存放自己实验中的代码.运行结果以及截图 2.按照实验说明里的要求,将代码输入,并运行出结果: 做以 ...

  2. java 实验4 异常

    java 实验4 异常 参考文章: (1)java 实验4 异常 (2)https://www.cnblogs.com/cc123nice/p/10663139.html 备忘一下.

  3. java浏览器实验报告_关于java实验报告模板

    关于java实验报告模板 1.掌握Java Applet的程序结构和开发过程. 2.学会编写Applet对应的HTML文件,掌握从HTML文件向Applet传递参数的方法. 3. 掌握文本框对象的使用 ...

  4. 20135331 文艺 java实验

    实验楼第一次实验报告 北京电子科技学院(BESTI) 实     验    报     告 课程:Java实验    班级:1353    姓名:文艺   学号:20135331 成绩:        ...

  5. java实验报告 05 类与_java程序设计类与方法-java实验报告

    java程序设计类与方法-java实验报告 java程序设计类与方法-java实验报告 1. 实验内容或题目 (1) 编写Java应用程序,实现以下功能:当应用程序运行后,根据屏幕提示进行交互式输入并 ...

  6. java 实验报告模板_Java实验报告模板.doc.doc

    Java实验报告模板.doc 实 验 报 告 课程名称Java面向对象程序设计实验名称检查危险品姓名吴超益学号201424134114专业年级14物联网一.实验目的: 本实验的目的是让学生掌握try- ...

  7. 20165310 Java实验五《网络编程与安全》

    20165310 Java实验五<网络编程与安全> 任务一 题目:①编写MyBC.java实现中缀表达式转后缀表达式的功能:②编写MyDC.java实现从上面功能中获取的表达式中实现后缀表 ...

  8. 20175212童皓桢 Java实验二-面向对象程序设计实验报告

    20175212童皓桢 Java实验二-面向对象程序设计实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设 ...

  9. Java实验实现一个circle类,java实验报告-类的定义.doc

    java实验报告-类的定义 南京理工大学泰州科技学院 实验报告书 课程名称: <JAVA面向对象程序设计> 实验题目: 实验三 类的定义 班 级: 09计算机(2) 学 号: 090903 ...

最新文章

  1. OCIEnvCreate failed with return code -1 but error message text was not available with ODP.net
  2. 移动端重构系列5——等分,居中等
  3. HDF5数据处理(一)python
  4. 进口配额管理和出口配额管理_SAP采购管理模块中的quot;配额协议quot;应用详解...
  5. java学习(124):小综合案例
  6. spring 数据库 链接db2_实例讲解使用Spring通过JPA连接到Db2
  7. 190116每日一句
  8. 提升交互设计必备的28本好书
  9. WEB UI设计尺寸规范
  10. 一个骨灰级塞班开发者的自白
  11. android 代码设置 键盘适应_MTK6577+Android之按键(key)修改
  12. 台式计算机网卡驱动不能正常使用,系统提示“您的网卡驱动程序不正常!”怎么办 是什么原因...
  13. python boxplot的使用方法
  14. 【数据结构】折半查找法
  15. 第二天-Hcia回顾(2)
  16. gre计算机考试科目,GRE考试内容
  17. 3.蚁群算法求解格栅地图路径规划matlab代码
  18. 前端导出word实现方法
  19. Java 插入排序法
  20. 航拍服务价格表,航拍测绘怎么计费的

热门文章

  1. AI写原创文章内容平台排名,一键生成软文、改写、写稿
  2. [CTO札记]PPT技巧:产品规划应‘图穷才匕现’
  3. Redis应用实践-使用消息队列发布微博
  4. Java实现下载文件到本地
  5. 为什么选择Python作为编程入门语言
  6. Linux 远程控制
  7. windows linux 子系统 wsl体验
  8. 运维工程师小张的日记
  9. 【CSS】1372- 使用 CSS 制作动画的 12 条原则
  10. 【数据库管理】⑩数据字典