首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法在2.3中从TaggedInputSplit转换为FileSplit

无法在2.3中从TaggedInputSplit转换为FileSplit
EN

Stack Overflow用户
提问于 2015-02-20 10:44:34
回答 1查看 1.6K关注 0票数 2

当我在我的job中使用MultipleInput时,我会得到这个类转换异常。

代码语言:javascript
运行
复制
Error: java.lang.ClassCastException: org.apache.hadoop.mapreduce.lib.input.TaggedInputSplit cannot be cast to org.apache.hadoop.mapreduce.lib.input.FileSplit
    at com.capitalone.integratekeys.mapreduce.mapper.IntegrationKeysMapperInput.setup(IntegrationKeysMapperInput.java:74)
    at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:142)
    at org.apache.hadoop.mapreduce.lib.input.DelegatingMapper.run(DelegatingMapper.java:55)
    at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:784)
    at org.apache.hadoop.mapred.MapTask.run(MapTask.java:341)
    at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:168)
    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:1614)
    at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:163)

inputSource = ((FileSplit)context.getInputSplit()).getPath().toString();

虽然我在JIRA上找到了一张关于它的solved.But的罚单,但我仍然面临着这个问题。请给我一些投入。

EN

Stack Overflow用户

回答已采纳

发布于 2015-02-26 07:15:44

在这一行

((FileSplit)context.getInputSplit()).getPath().toString();= inputSource

context.getInputSplit()是TaggedInputSplit的实例

并转换为FileSplit。

我检查两个类都没有父子关系。那就破例吧。您可以使用Hadoop获取inputSource。

获取输入源的方法:参数中的JobContext上下文

inputSource=context.getConfiguration().get("mapreduce.input.fileinputformat.inputdir",为空);

如果您无法获得输入源,请提供如何在驱动程序中设置输入文件路径。

票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28627053

复制
相关文章

相似问题

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