import org.apache.hadoop.io.IntWritable; import org.apache.hadoop.io.LongWritable; import org.apache.hadoop.io.Text; import org.apache.hadoop.mapreduce.Mapper; import java.io.IOException; public class WordCountMap extends Mapper{ //空格占两个字符 @Override protected void map(LongWritable key,Text value,Context context)throws IOException,InterruptedException{ //读取每行文本 String line=value.toString(); //splite拆分每行 String[] words=line.split(" ");//分词 //取出每个单词 for(String word:words){ //将单词转为Text类型 Text wordText=new Text(word); //将1转变为IntWritable IntWritable outValue=new IntWritable(1); //写出单词,跟对应1 context.write(wordText,outValue); } } }
hadoop启动进程
hdfs:分布式文件系统 分布式:多台机器处理任务
namenode:老大 管理
secondarynamenode:老二 备用的namenode
datanode:存储数据
yarn:资源调度
resourcemanager:老大 管理
nodemanager:小弟 处理任务
要写的代码:
java操作hdfs:
1.获取分布式文件系统fs=FileSystem.get()
2.fs.mkdir()操作文件系统
MapReduce:自己要写的业务代码,处理数据,运行在yarn上 在java上写
要写Map代码和Reduce代码



