gpt4 book ai didi

java - 关于hadoop mrjob无法mkdir

转载 作者:行者123 更新时间:2023-12-02 21:57:39 26 4
gpt4 key购买 nike

我正在尝试运行mapreduce作业。我将输出路径设置为:/ local / mypath / mr_reuslt但是得到:

SEVERE: Mkdirs failed to create: /local/mypath/mr_reuslt/_temporary
但是我确定从我的帐户可以执行mkdir到hadoop。
如果我手动执行hadoop fs -mkdir / local / mypath / mr_reuslt / _temporary,它将创建文件夹。
没有其他与此相关的异常消息。
我真的不认为这是许可问题。当我在mk作业中显式调用create file时,它将被创建。
有人可以给我一些关于这里发生的事情的建议吗?
抱歉,我不得不提到我试图从我的Java代码中调用map reduce作业。
我打电话:
ToolRunner.run(new Validation(), new String[]{...,...,...});

从我的Java代码开始。
那是问题吗?
请问有什么办法可以从普通的Java代码中调用mapreduce作业?
这是我的测试代码:
for(final ExecJob e: jobSet){
Thread t = new Thread(new Runnable(){
@Override
public void run() {
String inputPath = pathsForValidation.get(e);
String outputPath = inputPath+validationExten;
logger.log(LogLevel.INFO,"Should validate data in "+inputPath+", validation result in "+outputPath);
try {
ToolRunner.run(new Validation(), new String[]{TransferToHadoopUtilities.hdfsPath,inputPath,outputPath});
} catch (Exception e1) {
logger.log(LogLevel.ERROR,"Thread encountered exception:");
TransferToHadoopUtilities.logger.log(e1);
}finally{
Thread.currentThread().interrupt();
}
}

});
t.start();
}
我只是在Java程序中启动此代码。没有Hadoop jar。
但是从Java应用程序开始。

最佳答案

Hadoop可能没有适当的权限来创建该输出目录。当以Hadoop用户以外的系统用户身份运行作业时,可能会发生这种情况。

我猜最简单的方法是在运行作业之前手动创建输出目录。

关于java - 关于hadoop mrjob无法mkdir,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9725147/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com