javahadoop输入。FileSplit不能是大小写映射。文件分裂
我正在尝试使用以下代码在Hadoop映射器中获取文件名:
FileSplit fileSplit = (FileSplit) context.getInputSplit();
String filename = fileSplit.getPath().getName();
我导入的库是:
import org.apache.hadoop.mapred.FileSplit;
我得到一个例外:
org.apache.hadoop.mapreduce.lib.input.FileSplit cannot be cast to org.apache.hadoop.mapred.FileSplit
有人能帮忙吗
# 1 楼答案
很好,它就在那里-您的导入行是错误的,因为使用
org.apache.hadoop.mapreduce.lib.input.FileSplit
返回InputSplit实现你为什么不导入
org.apache.hadoop.mapreduce.lib.input.FileSplit
?这两个实现都实现了InputSplit
的约定,因此它应该是无缝的,除非其他一些方法类明确要求特定的FileSplit
实现