mapreduce读取MapFile出错!

hpuyancy 2014-03-03 08:04:26
大家好,请教一个问题:
就是我用的是Mapreduce读取Mapfile,Mapfile的<k,v>数据类型分别是<Text,BytesWritable>,通过本地读取Mapfile是可以读出来的;然后才使用MapReduce读去Mapfile,但是结果报错了,其中设置Maper<k1,v1,k2,v2>的数据类型分别是<Text,BytesWritable,Text,Text>;
输入文件格式为SequnceFileInputFormat,
输出文件格式为TextOutputFormat;
但是一直报错:java.lang.ClassCastException: org.apache.hadoop.io.LongWritable cannot be cast to org.apache.hadoop.io.ByteWritable;
之前,想到可能是键值不符合,但是都符合输入输出的文件格式啊!求解!
想想是不是因为读的是Mapfile的index文件时出错了呢?index的键值是<Text,LongWritable>
...全文
1174 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
hpuyancy 2014-03-14
  • 打赏
  • 举报
回复
解决了,就是觉得可能是MapReduce在读取MapFile时,存在问题,它可能是同时把data文件和index文件都读取进去了,所以出错了,应该是只需要读data文件就可以了
海兰 2014-03-04
  • 打赏
  • 举报
回复
错误比较明显,是两个类型间转换不兼容~~hadoop里边的LongWritable相当于是长整型,而ByteWritable相当于是java里的字符型~

932

社区成员

发帖
与我相关
我的任务
社区描述
云计算 云存储相关讨论
社区管理员
  • 云存储
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧