Output directory hdfs://hadoopnn10:9000/user/hadoop/input/B.txt already exists
时间: 2023-08-26 07:07:08 浏览: 358
这个错误提示是因为你在执行某个操作时指定的输出目录已经存在了,而程序默认情况下不会覆盖已经存在的目录。
如果你确实要覆盖已经存在的目录,可以在执行命令时加上 `-f` 参数,例如:
```
hadoop fs -rm -r -f hdfs://hadoopnn10:9000/user/hadoop/input/B.txt
```
如果你不想覆盖已经存在的目录,可以将输出目录改为一个新的目录。
相关问题
sqoop import --connect jdbc:mysql://localhost:3306/test1 --username root --password root --table article --hive-import --hive-table testERROR tool.ImportTool: Encountered IOException running import job: org.apache.hadoop.mapred.FileAlreadyExistsException: Output directory hdfs://hadoopMaster:9000/user/hadoop/article already exists at org.apache.hadoop.mapreduce.lib.output.FileOutputFormat.checkOutputSpecs(FileOutputFormat.java:164) at org.apache.hadoop.mapreduce.JobSubmitter.checkSpecs(JobSu
这个错误提示是因为导入数据时指定的输出目录已经存在了。你可以尝试指定一个新的输出目录,或者删除已经存在的输出目录(hdfs://hadoopMaster:9000/user/hadoop/article),再重新运行命令。如果你确定不需要已经存在的输出目录,可以使用以下命令删除它:
```
hadoop fs -rm -r hdfs://hadoopMaster:9000/user/hadoop/article
```
然后再重新运行sqoop import命令即可。
Exception in thread "main" org.apache.hadoop.mapred.FileAlreadyExistsException: Output directory hdfs://namenode:9000/input already exists at org.apache.hadoop.mapreduce.lib.output.FileOutputFormat.checkOutputSpecs(FileOutputFormat.java:146) at org.apache.hadoop.mapreduce.JobSubmitter.checkSpecs(JobSubmitter.java:266)
这个错误提示是因为你尝试在已经存在的目录中写入数据,而 Hadoop 不允许这样做。
你可以通过以下两种方式来解决这个问题:
1. 删除已经存在的目录:你可以使用以下命令删除已经存在的目录:
```
hdfs dfs -rm -r /input
```
这将会删除 `/input` 目录以及其中的所有内容。
2. 更改输出目录:你可以更改输出目录,使其与之前的不同。例如,你可以将输出目录更改为 `/output`,并使用以下命令:
```
hadoop jar <your_jar_file> <your_main_class> <input_directory> /output
```
这将会将处理后的数据输出到 `/output` 目录。
请注意,如果你使用的是 Hadoop 2.x 版本,那么你需要使用以下命令删除目录:
```
hadoop fs -rm -r /input
```
如果你使用的是 Hadoop 3.x 版本,那么你需要使用以下命令删除目录:
```
hdfs dfs -rm -r /input
```
阅读全文