1、外部写好的程序打Java jar 包,导入jar
sftp> put e:/wc.jar
2、创建文本进行计算
vi words.log
hadoop fs -mkdir /wc
hadoop fs -mkdir /wc/srcData/
3、运行jar
hadoop jar wc.jar com.hadoop.mr.wordcount.WCRunner
hadoop jar wc.jar com.hadoop.mr.wordcount.WCRunner /flow/data /flow/output
4、成功后查看文件:
hadoop fs -ls /wc/output1
hadoop fs -cat /wc/output1/part-r-00000
5、附程序源码:
A、WCMapper.java
package com.hadoop.mr.wordcount;
import java.io.IOException;
import org.apache.commons.lang.StringUtils;
import org.apache.hadoop.io.LongWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Mapper;
//4个泛型中,前两个是指定mapper输入数据的类型,KEYIN是输入的key的类型,VALUEIN是输入的value的类型
//map 和 reduce 的数据输入输出都是以 key-value对的形式封装的
//默认情况下,框架传递给我们的mapper的输入数据中,key是要处理的文本中一行的起始偏移量,这一行的内容作为value
public class WCMap