Hadoop流示例失败来自map的键中的类型不匹配

时间:2011-09-26 15:26:52

标签: types hadoop

  

可能重复:
  hadoop-streaming example failed to run - Type mismatch in key from map

当我运行Hadoop流式传输示例时,它在地图

中的键中出现类型不匹配失败

Hadoop版本0.21.0 输入文件内容:

adfad

adfasdflkjlj

命令行:$ HADOOP_HOME / bin / hadoop jar $ HADOOP_HOME / hadoop-streaming.jar \      - 输入myInputDirs \     -output myOutputDir \     -mapper org.apache.hadoop.mapred.lib.IdentityMapper \     -reducer / bin / wc

我得到的错误:

java.lang.Exception:java.io.IOException:键入map中的键不匹配:expected org.apache.hadoop.io.Text,recieved org.apache.hadoop.io.LongWritable

请指教。我做错了什么?感谢

2 个答案:

答案 0 :(得分:1)

编辑:对不起,没想到这是流媒体。您需要自定义输出分配为键/值对的方式。文档在这里:http://hadoop.apache.org/common/docs/current/streaming.html#Customizing+How+Lines+are+Split+into+Key%2FValue+Pairs

<德尔> 该错误消息为您提供了所有需要知道的信息。您的映射器定义为输出LongWritable键:`Mapper`,您的Reducer需要Text:`Reducer。 您需要重新定义其中一个或另一个。

答案 1 :(得分:0)

这是Hadoop发布版本中的已知错误。它已在代码中修复,但必须被释放。提供了替代解决方案here