1.ClassCastException

错误代码

/**
*
*/
/**
* @author hadoop
*
*/
package WordCount; import java.io.IOException;
import java.util.Iterator; import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.LongWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Mapper; /**
* KEYIN :是map task读取到的数据的key的类型,是一行的起始偏移量Long
* VALUEIN:是map task读取到的数据的value的类型,是一行的内容String
*
* KEYOUT:是用户的自定义map方法要返回的结果kv数据的key的类型,在wordcount逻辑中,我们需要返回的是单词String
* VALUEOUT:是用户的自定义map方法要返回的结果kv数据的value的类型,在wordcount逻辑中,我们需要返回的是整数Integer
*
*
* 但是,在mapreduce中,map产生的数据需要传输给reduce,需要进行序列化和反序列化,而jdk中的原生序列化机制产生的数据量比较冗余,就会导致数据在mapreduce运行过程中传输效率低下
* 所以,hadoop专门设计了自己的序列化机制,那么,mapreduce中传输的数据类型就必须实现hadoop自己的序列化接口
*
* hadoop为jdk中的常用基本类型Long String Integer Float等数据类型封住了自己的实现了hadoop序列化接口的类型:LongWritable,Text,IntWritable,FloatWritable
*
*
*
*
*
*/
public class WordCountMapper extends
Mapper<IntWritable, Text, Text, IntWritable> {
@Override
protected void map(IntWritable index, Text line,
org.apache.hadoop.mapreduce.Mapper.Context context)
throws IOException, InterruptedException {
String str = line.toString();
String[] strList = str.split(" ");
for (String word : strList) {
context.write(new Text(word), new IntWritable(1));
}
} }

正确代码

将第一个泛型修改成LongWritable

/**
*
*/
/**
* @author hadoop
*
*/
package WordCount; import java.io.IOException;
import java.util.Iterator; import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.LongWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Mapper; /**
* KEYIN :是map task读取到的数据的key的类型,是一行的起始偏移量Long
* VALUEIN:是map task读取到的数据的value的类型,是一行的内容String
*
* KEYOUT:是用户的自定义map方法要返回的结果kv数据的key的类型,在wordcount逻辑中,我们需要返回的是单词String
* VALUEOUT:是用户的自定义map方法要返回的结果kv数据的value的类型,在wordcount逻辑中,我们需要返回的是整数Integer
*
*
* 但是,在mapreduce中,map产生的数据需要传输给reduce,需要进行序列化和反序列化,而jdk中的原生序列化机制产生的数据量比较冗余,就会导致数据在mapreduce运行过程中传输效率低下
* 所以,hadoop专门设计了自己的序列化机制,那么,mapreduce中传输的数据类型就必须实现hadoop自己的序列化接口
*
* hadoop为jdk中的常用基本类型Long String Integer Float等数据类型封住了自己的实现了hadoop序列化接口的类型:LongWritable,Text,IntWritable,FloatWritable
*
*
*
*
*
*/
public class WordCountMapper extends
Mapper<LongWritable, Text, Text, IntWritable> {
@Override
protected void map(LongWritable index, Text line,
org.apache.hadoop.mapreduce.Mapper.Context context)
throws IOException, InterruptedException {
String str = line.toString();
String[] strList = str.split(" ");
for (String word : strList) {
context.write(new Text(word), new IntWritable(1));
}
} }

最新文章

  1. MySql 小记
  2. dubbox rest服务
  3. 嵌入式Linux驱动学习之路(十一)按键驱动-中断机制
  4. C# 十进制与十六进制互转
  5. jsp 页面 性别回显
  6. HTML去掉网页IE滚动条
  7. CSS3之圆角
  8. SGU 113.Nearly prime numbers
  9. SpringMVC进行文件的上传以及多文件的上传(转)
  10. poj 3304 计算几何
  11. Windows Phone开发(41):漫谈关键帧动画之下篇
  12. JSONP获取Twitter和Facebook文章数
  13. rotate image(旋转数组)
  14. MXNet 中的 hybird_forward 的一个使用技巧
  15. 《统计学习方法》笔记(8):AdaBoost算法
  16. 一对一Socket简单聊天的实现
  17. Python3 循环语句
  18. [置顶] Android 打包apk无敌报错
  19. 分数规划(Bzoj1486: [HNOI2009]最小圈)
  20. BZOJ 1059 矩阵游戏 二分图匹配

热门文章

  1. python基础一 day3 列表
  2. numpy次方计算
  3. 已安全化的ActiveX控件卸载时出现&quot;DllUnregisterServer函数出错,错误代码:0x80070002&quot;问题解决
  4. ES6 第三章 变量的解构赋值 具体参照http://es6.ruanyifeng.com
  5. 122. Best Time to Buy and Sell Stock II@python
  6. 如何用纯 CSS 创作炫酷的同心矩形旋转动画
  7. Linux基础(Ubuntu)
  8. 洛谷 1196 [NOI2002]银河英雄传说【模板】带权并查集
  9. 【HDU 3037】Saving Beans(卢卡斯模板)
  10. python基础——3(流程控制)