2013-07-07 153 views
0

我跟着this指南爲hadoop創建了一個自定義的inputsplit。現在我每次有一個例外,在此:Hadoop Map Reduce CustomRecordReader

FileSplit split = (FileSplit) genericSplit; 

我進口了2:

import org.apache.hadoop.mapred.FileSplit; 
import org.apache.hadoop.mapreduce.InputSplit; 

,但我不明白爲什麼給我的異常。 FileSplit延伸InputSplit,爲什麼例外?

+0

你有什麼例外,先生? – vidit

+0

java.lang.ClassCastException:org.apache.hadoop.mapreduce.lib.input.FileSplit無法轉換爲 –

+0

@Pascal NoPascensor:投射到...? – jason

回答

2

我想你想

import org.apache.hadoop.mapreduce.lib.input.FileSplit; 

,而不是

import org.apache.hadoop.mapred.FileSplit; 

或者,至少,你似乎是混合使用這兩種不同類(o.a.h.mapreduce.lib.input.FileSplit VS o.a.h.mapred.FileSplit)。仔細閱讀您的例外信息。

+0

是的,是錯誤。謝謝你,我是新來的 –

+0

@Pascal NoPascensor:祝你好運。這是從舊API('o.a.h.mapred')到新API('o.a.h.mapreduce')的混亂。 – jason