Moja wersja Miaoop jest 1.0.3, kiedy używam wielu wątków, mam ten błąd.Mileop Wielokrotne wprowadzanie nie powiodło się z ClassCastException
java.lang.ClassCastException: org.apache.hadoop.mapreduce.lib.input.TaggedInputSplit cannot be cast to org.apache.hadoop.mapreduce.lib.input.FileSplit
at org.myorg.textimage$ImageMapper.setup(textimage.java:80)
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:764)
at org.apache.hadoop.mapred.MapTask.run(MapTask.java:370)
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:416)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1121)
at org.apache.hadoop.mapred.Child.main(Child.java:249)
Przetestowałem pojedynczą ścieżkę wejściową, bez problemu. Tylko wtedy, gdy używam
MultipleInputs.addInputPath(job, TextInputpath, TextInputFormat.class,
TextMapper.class);
MultipleInputs.addInputPath(job, ImageInputpath,
WholeFileInputFormat.class, ImageMapper.class);
google i znalazłem ten link https://issues.apache.org/jira/browse/MAPREDUCE-1178 który powiedział 0.21 miał ten błąd. Ale używam wersji 1.0.3, czy ten błąd powraca. Ktoś ma ten sam problem lub ktoś może mi powiedzieć, jak to naprawić? Dzięki
oto kod konfiguracja obrazu odwzorowującym, 4. Linia jest, gdy pojawia się błąd:
protected void setup(Context context) throws IOException,
InterruptedException {
InputSplit split = context.getInputSplit();
Path path = ((FileSplit) split).getPath();
try {
pa = new Text(path.toString());
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
Czy możesz opublikować kod dla klasy 'ImageMapper' - wygląda na to, że próbujesz rzucić podział wejściowy do FileInputSplit w swojej metodzie instalacji. –
Mam podobny problem .. Czy istnieje jakieś rozwiązanie? – sunitha