hadoop - 在包含空间的路径中使用jar设置mapreduce.job.jar

标签 hadoop mapreduce cloudera yarn hortonworks-data-platform

我正在尝试编写一个mapreduce程序,其中之一是使用文件设置mapreduce.job.jar。如果文件位于不包含空间的路径中,则程序可以正常运行。但是路径包含空间,路径已编码,并且我将得到一个找不到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。

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

最佳答案

您是否尝试用'\'转义空格字符?

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

关于hadoop - 在包含空间的路径中使用jar设置mapreduce.job.jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30812613/

相关文章:

mongodb - 通过键字段查找 MongoDB 集合中的所有重复文档

hadoop - 针对不同映射器的 HBase MapReduce 拆分扫描

hadoop - Map reduce 复制输出文件,以便在配置单元中放入不同的表

hadoop - 从 quickstart.cloudera/172.17.0.2 调用 quickstart.cloudera :8020 failed on connection exception: java.net.ConnectException: Connection refused

hadoop - 配置单元创建失败:资源不可用异常

hadoop - 使用 ambari 删除服务时出错

hadoop - awk命令组合多个参数

user-interface - Hadoop加速的网络悬浮合并的设计和评估

hadoop - 在运行映射作业时,根据请求杀死了容器

mysql - 我正在尝试将 csv 文件导入 mysql,但出现以下错误。谁能帮我?