【发布时间】: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 -r、rmr,但它错误地声称该文件夹不存在。
当我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