Java 如何通过扩展FileInputFormat的新API来获取拆分主机的详细信息?
您好,我正在尝试通过扩展Java 如何通过扩展FileInputFormat的新API来获取拆分主机的详细信息?,java,hadoop,mapreduce,apache-pig,Java,Hadoop,Mapreduce,Apache Pig,您好,我正在尝试通过扩展org.apache.pig.LoadFunc为pig创建自定义加载程序,它需要实现 public abstract org.apache.hadoop.mapreduce.InputFormat getInputFormat() throws java.io.IOException; 现在,上面的formatorg.apache.hadoop.mapreduce.InputFormat是新的API,因此我必须通过扩展org.apache.hadoop.mapreduc
org.apache.pig.LoadFunc
为pig创建自定义加载程序,它需要实现
public abstract org.apache.hadoop.mapreduce.InputFormat getInputFormat() throws java.io.IOException;
现在,上面的formatorg.apache.hadoop.mapreduce.InputFormat
是新的API,因此我必须通过扩展org.apache.hadoop.mapreduce.InputFormat
来创建自定义文件格式。我已经使用新的API创建了自定义文件格式,但我需要使用以下代码来了解拆分主机的详细信息
String[] splitHosts = getSplitHosts(blkLocations, 0, length, clusterMap);
getSplitHosts()在较旧的APIorg.apache.hadoop.mapred.FileInputFormat
中可用,但在org.apache.hadoop.mapreduce.lib.input.FileInputFormat
中不可用
我的问题是如何使用新的APIorg.apache.hadoop.mapreduce.lib.input.FileInputFormat
请指导我,我是Hadoop新手,提前感谢。Hadoop 2具有向后兼容性和旧api,您仍然可以使用,它也有新版本。不会有任何问题。
因此,您可以使用Hadoop2.6版本api中给出的类 希望有帮助