![hdfs에서 10일이 지난 파일 삭제](https://linux55.com/image/99581/hdfs%EC%97%90%EC%84%9C%2010%EC%9D%BC%EC%9D%B4%20%EC%A7%80%EB%82%9C%20%ED%8C%8C%EC%9D%BC%20%EC%82%AD%EC%A0%9C.png)
저는 적어도 10일 이상 된 hdfs 디렉토리와 파일을 정리하기 위해 ksh 스크립트를 작성하고 있습니다. 터미널에서 삭제 명령을 테스트하고 있는데 계속해서 이것이 잘못되었다는 메시지가 나타납니다.
$ hdfs dfs -find "/file/path/file" -depth -type d -mtime +10 -exec rm -rf {} \;
find: Unexpected argument: -depth
내가 뭘 잘못했나요?
답변1
이 hdfs dfs
명령은 Unix와 완전히 호환되지 않는 특수 셸에서 다음 명령을 실행합니다. 사용 가능한 프로그램 중 일부는 Unix 프로그램과 유사하지만 다른 프로그램은 그렇지 않습니다. 이 find
프로그램은 그 중 하나입니다. HDFS에서 명령이 이해하는 유일한 표현은 다음과 같습니다.
-name pattern
-iname pattern
-print
-print0Always
따라서 불행하게도 당신이 시도하는 표현식은 HDFS 쉘에서 작동하지 않습니다.
원천:하둡 문서
답변2
Hadoop 2.7은 다음 기능을 지원합니다. https://issues.apache.org/jira/browse/HADOOP-8989