将上述代码改为已行为单位分割
时间: 2024-02-21 20:57:00 浏览: 26
如果要将代码改为按行进行处理,只需要将Mapper类的输入键类型改为LongWritable,输入值类型改为Text即可。具体改动代码如下:
```
package com.example.webhdfs.damci;
import org.apache.hadoop.io.LongWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Mapper;
import java.io.IOException;
public class MyMapper extends Mapper<LongWritable, Text, Text, LongWritable> {
private static final LongWritable valueOut = new LongWritable(1);
private Text keyOut = new Text();
@Override
protected void map(LongWritable key, Text value, Mapper<LongWritable, Text, Text, LongWritable>.Context context) throws IOException, InterruptedException {
String[] lines = value.toString().split("\n"); // 按行分割输入值
for (String line : lines) {
System.out.println("进入map阶段:" + key + "----" + line);
String[] words = line.split("\\s+"); // 按空格分割单词
for (String word : words) {
System.out.println(word + ":1");
keyOut.set(word);
context.write(keyOut, valueOut);
}
}
}
}
```
在这个版本的Mapper类中,输入值被按行分割,然后每行数据再按空格分割为单个单词。之后,每个单词都被映射为一个输出键,并输出一个值1。最后,每个键值对都被写入到context中,以便后续的Reducer类进行处理。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)