gpt4 book ai didi

c# - 使用 C# 和 Mono : IdentityMapper being used incorrectly 的 Hadoop 流式传输

转载 作者:可可西里 更新时间:2023-11-01 08:29:37 25 4
gpt4 key购买 nike

我有用 C# 编写的映射器和缩减器可执行文件。我想将这些与 Hadoop 流式处理一起使用。

这是我用来创建 Hadoop 作业的命令...

hadoop jar $HADOOP_HOME/contrib/streaming/hadoop-streaming-*.jar 
-input "/user/hduser/ss_waits"
-output "/user/hduser/ss_waits-output"
–mapper "mono mapper.exe"
–reducer "mono reducer.exe"
-file "mapper.exe"
-file "reducer.exe"

这是每个映射器遇到的错误...

java.io.IOException: Type mismatch in key from map: expected org.apache.hadoop.io.Text, recieved org.apache.hadoop.io.LongWritable
at org.apache.hadoop.mapred.MapTask$MapOutputBuffer.collect(MapTask.java:1014)
at org.apache.hadoop.mapred.MapTask$OldOutputCollector.collect(MapTask.java:592)
at org.apache.hadoop.mapred.lib.IdentityMapper.map(IdentityMapper.java:38)
at org.apache.hadoop.mapred.MapRunner.run(MapRunner.java:50)
at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:436)
at org.apache.hadoop.mapred.MapTask.run(MapTask.java:372)
at org.apache.hadoop.mapred.Child$4.run(Child.java:255)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:415)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1121)
at org.apache.hadoop.mapred.Child.main(Child.java:249)

根据调用堆栈,问题似乎是 (Java) IdentityMapper 类被用作映射器。 (这解释了为什么会导致类型不匹配错误)。 映射器应该是可执行文件“mono mapper.exe”。

知道为什么 mono mapper.exe 没有被使用吗?

mapper.exe 和 reducer.exe 具有以下权限:-rwxr-xr-x

我能够从 unix 命令 shell 成功执行 mono mapper.exe 并让它从 stdin 读取文本并写入 stdout。

环境:

  • Ubuntu Server 12.04 LTS(在 Azure 上运行的虚拟机)
  • Hadoop 1.0.4
  • 单声道 2.10

最佳答案

假设 mono 在 PATH 中,您是否需要 mapper.exe 和 reducer.exe 的完整路径?即

hadoop jar $HADOOP_HOME/contrib/streaming/hadoop-streaming-*.jar 
-input "/user/hduser/ss_waits"
-output "/user/hduser/ss_waits-output"
–mapper "mono /path/to/mapper.exe"
–reducer "mono /path/to/reducer.exe"
-file "mapper.exe"
-file "reducer.exe"

关于c# - 使用 C# 和 Mono : IdentityMapper being used incorrectly 的 Hadoop 流式传输,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13189445/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com