Hadoop input.FileSplit 不能大小写到 mapred.FileSplit
Hadoop input.FileSplit cannot be case to mapred.FileSplit
我正在尝试使用以下代码在 Hadoop Mapper 中获取文件名:
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
有人可以帮忙吗?
嗯,就在那里 - 你的导入行是错误的,因为 return InputSplit 实现使用 org.apache.hadoop.mapreduce.lib.input.FileSplit
为什么不导入 org.apache.hadoop.mapreduce.lib.input.FileSplit
?两种实现都满足 InputSplit
的约定,因此它应该是无缝的,除非某些其他方法 class 明确要求特定的 FileSplit
实现。
我正在尝试使用以下代码在 Hadoop Mapper 中获取文件名:
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
有人可以帮忙吗?
嗯,就在那里 - 你的导入行是错误的,因为 return InputSplit 实现使用 org.apache.hadoop.mapreduce.lib.input.FileSplit
为什么不导入 org.apache.hadoop.mapreduce.lib.input.FileSplit
?两种实现都满足 InputSplit
的约定,因此它应该是无缝的,除非某些其他方法 class 明确要求特定的 FileSplit
实现。