Type mismatch in key from map: expected org.apache.hadoop.io.Text, received org.apache.hadoop.io.LongWritable

  今天在写MapReduce时遇到了这个问题,这个问题的解释是:来自map的键类型不匹配:expected org.apache.hadoop.io文本,收到org.apache.hadoop.io.LongWritable,也就是说从map到reduce的输出格式装换错误,或者没有定义,即使在你的map的输出参数写的和reduce的参数一模一样还是会出现这个错误。

  

那么解决的办法就是既然他自己识别不了,我们就强制给他装换,给他设置类型参数,这样就可以了。

  

        //设置map输出的key类型
        job.setMapOutputKeyClass(LongWritable.class);
        //设置map输出的value类型
        job.setMapOutputValueClass(Text.class);
        //设置输出的key类型
        job.setOutputKeyClass(Text.class);
        //设置输出的value类型
        job.setOutputValueClass(NullWritable.class);        

  我们自己手动设定map的输出key 和 value 的类型。问题解决。

原文地址:https://www.cnblogs.com/zll20153246/p/9351167.html

时间: 2024-11-08 19:20:32

Type mismatch in key from map: expected org.apache.hadoop.io.Text, received org.apache.hadoop.io.LongWritable的相关文章

java.io.IOException: Type mismatch in key from map:解决方法

执行MR程序的时候发生异常:java.lang.Exception: java.io.IOException: Type mismatch in key from map: expected org.apache.hadoop.io.Text, received org.apache.hadoop.io.LongWritable 日志如下: 2016-05-09 21:33:28,871 INFO [org.apache.hadoop.conf.Configuration.deprecation

Hadoop on Mac with IntelliJ IDEA - 9 解决Type mismatch in value from map问题

修改陆喜恒. Hadoop实战(第2版)5.3排序的代码时遇到IO异常. 环境:Mac OS X 10.9.5, IntelliJ IDEA 13.1.5, Hadoop 1.2.1 异常具体信息如下 1 14/10/06 03:08:51 INFO mapred.JobClient: Task Id : attempt_201410021756_0043_m_000000_0, Status : FAILED 2 java.io.IOException: Type mismatch in va

jsp页面使用el 按key获取map中的对应值

jsp页面使用el 按key获取map中的对应值 转自:<jsp页面使用el 按key获取map中的对应值>地址:http://blog.csdn.net/baple/article/details/18517359 jsp页面中的代码: <script type="text/javascript"> var msgTip = "${msgs['loginError']}"; alert(msgTip); </script> 注意

java.lang.Error: Unresolved compilation problems: Syntax error on token &quot;return&quot;, delete this token Type mismatch: cannot convert from Init to String

java.lang.Error: Unresolved compilation problems:   Syntax error on token "return", delete this token  Type mismatch: cannot convert from Init to String Dubbo 在调用服务时候报的错误! 那么问题来了.这什么错? ? 英语不好.     Type mismatch: cannot convert from Init to Strin

Type mismatch: cannot convert from Enumeration&lt;String&gt; to Enumeration&lt;Object&gt;

完整错误信息: Description Resource Path Location TypeType mismatch: cannot convert from Enumeration<String> to Enumeration<Object> ResponseHeaderFilter.java /dwz-java/src/dwz/common/util line 46 Java Problem 解决办法: Type mismatch: cannot convert from

解决&quot;415 Cannot process the message because the content type &#39;application/x-www-form-urlencoded&#39; was not the expected type &#39;text/xml; charset=utf-8&#39;&quot;

wcf basicHttpBinding content-type    text/xml;charset=utf-8 wsHttpBinding  'application/soap+xml; charset=utf-8' webHttpBinding 'application/x-www-form-urlencoded'   对应网页中的post请求 所以如果是post请求wcf服务,要使用webHttpBinding 解决"415 Cannot process the message be

Invalid prop: type check failed for prop &quot;XXX&quot;. Expected String, got Object.

项目是Vue的,基于elementUI的后台管理系统. Invalid prop: type check failed for prop "total". Expected String, got Object. 昨天遇到了这么个错误,找了半天,网上也找了很久的资料,有很多跟我遇到的问题类似的有很多,但解决办法形似各样,没有我这种情况的,但还好经过我的不懈努力还是找到了原因. total的类型出错了,应该是传入的类型与组件需要的类型不同 原文地址:https://www.cnblogs

spray json, jackson 转到type时多key和少key的比较

有组合关系的三个class定义 A { B { C {...} ... } ... } 每个class都有loadFromJson和writeAsJson方法.过去几年,三个class里的成员变量一直在添加,而数据库里有很多json string类型的老数据,为了能够正确的把它们转化为class,就需要对一些域进行判断,举个例子. 在 db 中有一个json string,是这样的 name: xins, age: 24 而几年后C添加了一个新的域,company 那么loadFromJson就

python 读取大文件越来越慢(判断 key 在 map 中,千万别用 in keys())

背景: 今天乐乐姐写代码,读取一个四五百兆的文件,然后做一串的处理.结果处理了一天还没有出来结果.问题出在哪里呢? 解决: 1. 乐乐姐打印了在不同时间点的时间,直接print time() 即可.发现一个规律,执行速度是越来越慢的. 2. 为什么会越来越慢呢? 1)可能原因1,GC 的问题,有篇文章里面写,python list append 的时候会越来越慢,解决方案是禁止GC: 使用 gc.disable()和gc.enable() 2)改完上面,仍然不行,然后看到一篇文章里面写,可能是因