mapreducer

This commit is contained in:
luoxiang 2019-06-02 17:35:04 +08:00
parent d18cb4b731
commit 377e66144c
2 changed files with 7 additions and 7 deletions

View File

@ -126,7 +126,7 @@ HBase Hive
### 4.3 WordCountMapper
将每行数据按照指定分隔符进行拆分
将每行数据按照指定分隔符进行拆分。这里需要注意在MapReduce中必须使用Hadoop定义的类型因为Hadoop预定义的类型都是可序列化可比较的所有类型均实现了`WritableComparable`接口。
```java
public class WordCountMapper extends Mapper<LongWritable, Text, Text, IntWritable> {
@ -152,17 +152,17 @@ public class WordCountMapper extends Mapper<LongWritable, Text, Text, IntWritabl
`WordCountMapper`继承自`Mappe`r类这是一个泛型类定义如下
```java
WordCountMapper extends Mapper<LongWritable, Text, Text, IntWritable>
public class Mapper<KEYIN, VALUEIN, KEYOUT, VALUEOUT> {
......
}
```
+ **KEYIN** : `mapping`输入的key的数据类型即每行的偏移量(每行第一个字符在整个文本中的位置)`Long`类型对应Hadoop中的`LongWritable`类型;
+ **VALUEIN** : `mapping`输入的value的数据类型即每行数据`String`类型对应Hadoop中`Text`类型;
+ **KEYOUT** `mapping`输出的key的数据类型即每个单词`String`类型对应Hadoop中`Text`类型;
+ **VALUEOUT**`mapping`输出的value的数据类型即每个单词出现的次数这里用`int`类型对应Hadoop中`IntWritable`类型;
在MapReduce中必须使用Hadoop定义的类型因为Hadoop预定义的类型都是可序列化可比较的所有类型均实现了`WritableComparable`接口。
+ **KEYIN** : `mapping`输入key的类型即每行的偏移量(每行第一个字符在整个文本中的位置)`Long`类型对应Hadoop中的`LongWritable`类型;
+ **VALUEIN** : `mapping`输入value的类型即每行数据`String`类型对应Hadoop中`Text`类型;
+ **KEYOUT** `mapping`输出的key的类型即每个单词`String`类型对应Hadoop中`Text`类型;
+ **VALUEOUT**`mapping`输出value的类型即每个单词出现的次数这里用`int`类型对应Hadoop中`IntWritable`类型。

Binary file not shown.

Before

Width:  |  Height:  |  Size: 268 KiB

After

Width:  |  Height:  |  Size: 197 KiB