Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/305.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.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 在Hadoop中没有获得正确的路径_Java_Hadoop_Configuration - Fatal编程技术网

Java 在Hadoop中没有获得正确的路径

Java 在Hadoop中没有获得正确的路径,java,hadoop,configuration,Java,Hadoop,Configuration,我试图将运行的jar复制到代码中的HDFS位置,如下所示: MyClass.class.getProtectionDomain().getCodeSource().getLocation().getPath() 如果正确导出类路径: export $HADOOP_CLASSPATH=/path/to/jar.jar export $HADOOP_CLASSPATH=/path/to/jar1.jar 然后,我从运行jar的位置获得正确的路径。但是,如果我错误地给出了jar的名称: expo

我试图将运行的jar复制到代码中的HDFS位置,如下所示:

MyClass.class.getProtectionDomain().getCodeSource().getLocation().getPath()
如果正确导出类路径:

export $HADOOP_CLASSPATH=/path/to/jar.jar
export $HADOOP_CLASSPATH=/path/to/jar1.jar
然后,我从运行jar的位置获得正确的路径。但是,如果我错误地给出了jar的名称:

export $HADOOP_CLASSPATH=/path/to/jar.jar
export $HADOOP_CLASSPATH=/path/to/jar1.jar
然后,它获取tmp文件夹的路径,在运行之前,它将在该文件夹中取消jar的共享

有人能帮我理解为什么会发生这种情况吗


谢谢

它是否还存储了所有与正确路径[/path/to/jar.jar]一起存放的文件?没有其他文件。这是在hadoop作业运行期间创建的唯一一个文件。因此,请尝试在[/path/to/]中添加其他文件,并给出正确的路径[/path/to/jar.jar],然后查看该文件是否也被持久化。问题不在于我是否给出了正确的路径。问题是,为什么要使用临时目录的路径来取消共享