【问题标题】:Output Location Validation Failed... mapper creating _temporary directory in output folder输出位置验证失败...映射器在输出文件夹中创建 _temporary 目录
【发布时间】:2017-05-15 08:44:14
【问题描述】:

运行后

hdfs dfs -rm -r -skipTrash hdfs://valid/output/path
hdfs dfs -ls hdfs://valid/output/path

并验证此输出目录不存在,我仍然收到以下错误:

2016-12-30 23:38:55,290 [main] ERROR org.apache.pig.tools.grunt.Grunt - ERROR 6000:  Output Location Validation Failed for: '/valid/output/path More info to follow:
Output directory hdfs://valid/output/path already exists

在调用STORE 之前,我还尝试在我的猪脚本中使用fs -rm -rrmr,但它错误地声称该文件夹不存在。

当我lshdfs://valid/output/path 输出目录时,pig 脚本出错后,它显示一个_temporary 目录,其中包含attempt_[insert random number] 目录,而这些目录又似乎包含活泼的文件。我怀疑映射器正在将中间数据块写入我的输出目录。为什么会这样?如何让它停止?

相关标题如下:

SET default_parallel 50;
SET mapreduce.job.queuename my.queue.name;
SET mapreduce.reduce.markreset.buffer.percent 0.7;
SET mapreduce.map.java.opts -Xmx3200m;
SET mapreduce.reduce.java.opts -Xmx6400m;
SET yarn.app.mapreduce.am.command-opts -Xmx6400m;
SET mapreduce.map.memory.mb 4096;
SET mapreduce.reduce.memory.mb 8192;
SET yarn.app.mapreduce.am.resource.mb 8192;
SET mapreduce.reduce.maxattempts 20;

已经尝试了以下解决方案,但均未成功:

Apache Pig, Suppress "Output Location Validation Failed" "Output directory ... already exists"

【问题讨论】:

  • 发布猪脚本....

标签: hadoop mapreduce apache-pig hdfs


【解决方案1】:

尝试使用rmf command 并像这样放置路径

rmf /valid/output/path

如果目录不存在,它不会引发错误,在存储数据之前使用它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多