Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何通过扩展FileInputFormat的新API来获取拆分主机的详细信息?_Java_Hadoop_Mapreduce_Apache Pig - Fatal编程技术网

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;
现在,上面的format
org.apache.hadoop.mapreduce.InputFormat
是新的API,因此我必须通过扩展
org.apache.hadoop.mapreduce.InputFormat
来创建自定义文件格式。我已经使用新的API创建了自定义文件格式,但我需要使用以下代码来了解拆分主机的详细信息

String[] splitHosts = getSplitHosts(blkLocations, 0, length, clusterMap);
getSplitHosts()在较旧的API
org.apache.hadoop.mapred.FileInputFormat
中可用,但在
org.apache.hadoop.mapreduce.lib.input.FileInputFormat
中不可用

我的问题是如何使用新的API
org.apache.hadoop.mapreduce.lib.input.FileInputFormat


请指导我,我是Hadoop新手,提前感谢。

Hadoop 2具有向后兼容性和旧api,您仍然可以使用,它也有新版本。不会有任何问题。
因此,您可以使用Hadoop2.6版本api中给出的类

希望有帮助