设置 mapreduce.job.jar在包含空格的路径中使用一个 jar



我正在尝试编写一个mapreduce程序,其中一个步骤是设置mapreduce.job.jar一个文件。如果文件位于不包含空格的路径中,则程序工作正常。但是路径包含空格,路径已编码,我将收到未找到罐子的错误。

假设作业jar位于/home/myname/workspace/myMapReduce下.jar当我用这条路径设置 mapreduce.job.jar 时,它很好。

Configuration conf = job.getConfiguration();       
conf.set("mapreduce.job.jar", file.toURI().toURL().toString());

但是,如果路径是/home/my name/workspace/myMapReduce.jar("my"和"name"之间的空格),则

file.toURI().toURL().toString()

将路径编码为/home/my%20name/workspace/myMapReduce.jar,这会使 mapReduce 程序失败,因为此目录下没有这样的 jar。

那么有没有办法在包含空间的路径中设置mapreducejar呢?否则,除了使用 file.toURI().toURL().toURL().toString()之外,我如何设置 mapreduce.job.jar?

您是否尝试过使用"\"转义空格字符?

在您的示例中:/home/my\ name/workspace/myMapReduce.jar

相关内容

  • 没有找到相关文章

最新更新