首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >hadoop-streaming示例无法运行-映射中的键类型不匹配

hadoop-streaming示例无法运行-映射中的键类型不匹配
EN

Stack Overflow用户
提问于 2011-09-28 08:09:06
回答 2查看 2.3K关注 0票数 2
代码语言:javascript
复制
I was running  $HADOOP_HOME/bin/hadoop  jar $HADOOP_HOME/hadoop-streaming.jar \
    -D stream.map.output.field.separator=. \
    -D stream.num.map.output.key.fields=4 \
    -input myInputDirs \
    -output myOutputDir \
    -mapper org.apache.hadoop.mapred.lib.IdentityMapper \
    -reducer org.apache.hadoop.mapred.lib.IdentityReducer 
What hould be the input file when IdentityMapper is the mapper?

我希望它可以对某些选定的关键字进行排序,而不是整个关键字。我的输入文件是简单的"aa bb“。"cc“不确定我错过了什么?我总是收到这样的错误: java.lang.Exception: java.io.IOException:在map的键中类型不匹配:预期的org.apache.hadoop.io.Text,在org.apache.hadoop.mapred.LocalJobRunner$Job.run(LocalJobRunner.java:371)收到org.apache.hadoop.io.LongWritable,原因: java.io.IOException:来自map的键的类型不匹配:预期的org.apache.hadoop.io.Text,收到的org.apache.hadoop.io.LongWritable

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-09-28 10:35:24

这是一个已知的bug,这里是JIRA。该bug已经在Hadoop 0.21.0中被发现,但我不认为它在Hadoop的任何发布版本中都存在。如果你真的有兴趣解决这个问题,你可以

下载Hadoop的源代码(对于发行版,您将从JIRA working)

  • download

应用它并对其进行测试

下面是关于如何应用补丁的instructions

或者,不使用IdentityMapper和IdentityReducder,而是使用python/perl脚本,它将从STDIN读取k/v对,然后将相同的k/v对写入STDOUT,而不进行任何处理。这就像创建自己的IdentityMapper和不使用Java的IdentityReducder一样。

票数 4
EN

Stack Overflow用户

发布于 2012-06-08 16:26:10

我尝试使用我自己的示例来使用Hadoop,但得到了相同的错误。我使用KeyValueTextInputFormat解决了这个问题。你可以看看下面的博客。

http://sanketraut.blogspot.in/2012/06/hadoop-example-setting-up-hadoop-on.html

希望能对你有所帮助。

和平。Sanket Raut

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7576985

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档