我在分析日志文件的数据管道中运行EMR活动,当我的管道失败时出现以下错误:
Exception in thread "main" org.apache.hadoop.mapred.FileAlreadyExistsException: Output directory hdfs://10.208.42.127:9000/home/hadoop/temp-output-s3copy already exists
at org.apache.hadoop.mapred.FileOutputFormat.checkOutputSpecs(FileOutputFormat.java:121)
at org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:944)
at org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:905)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:396)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1132)
at org.apache.hadoop.mapred.JobClient.submitJobInternal(JobClient.java:905)
at org.apache.hadoop.mapred.JobClient.submitJob(JobClient.java:879)
at org.apache.hadoop.mapred.JobClient.runJob(JobClient.java:1316)
at com.valtira.datapipeline.stream.CloudFrontStreamLogProcessors.main(CloudFrontStreamLogProcessors.java:216)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.hadoop.util.RunJar.main(RunJar.java:187)
如何从Hadoop中删除该文件夹?
答案 0 :(得分:49)
当你说从Hadoop删除时,你的确意味着从HDFS中删除。
要从HDFS中删除某些内容,请执行以下操作之一
从命令行:
hadoop dfs -rmr hdfs://path/to/file
hdfs dfs -rm -r hdfs://path/to/file
或者来自java:
FileSystem fs = FileSystem.get(getConf());
fs.delete(new Path("path/to/file"), true); // delete file, true for recursive
答案 1 :(得分:15)
要从hdfs删除文件,您可以使用以下给定的命令:
hadoop fs -rm -r -skipTrash /path_to_file/file_name
要从hdfs中删除文件夹,您可以使用以下给定的命令:
hadoop fs -rm -r -skipTrash /folder_name
您需要使用-skipTrash选项,否则将提示错误。
答案 2 :(得分:7)
使用Scala:
QGraphicsPixmapImage
sc是SparkContext
答案 3 :(得分:2)
要从hdfs删除文件,请使用以下命令:
hadoop fs -rm -r /FolderName
答案 4 :(得分:1)
我联系了AWS支持,问题似乎是我正在分析的日志文件非常大,这造成了内存问题。我在EMRCluster部分添加了我的管道定义“masterInstanceType”:“m1.xlarge”并且它有效。
答案 5 :(得分:1)
从命令行:
hadoop fs -rm -r /folder
答案 6 :(得分:0)
我使用hadoop 2.6.0,命令行'hadoop fs -rm -r fileName.hib'可以正常删除我的hdfs文件sys上的任何hib文件