기타
[Hadoop] 특수문자(wildcard)가 들어간 경로 삭제
공부의 Sun
2020. 6. 9. 20:00
상황
- 특수문자가 들어간 다음과 같은 경로는 일반적인
hdfs dfs -rm -r ...
을 이용 시 파일 삭제는 되지 않고 휴지통에 파일 복제만 진행된다. - 예시) 다음의 디렉토리가 존재한다.
\$ drwx------ - hdfs supergroup 0 2020-06-09 20:00 /my_root/sub_dir/2020**
- 다음의 명령을 입력 시 디렉토리 내용이 휴지통에 정상적으로 들어가나 기존의 디렉토리에도 데이터가 남아있었다.
\$ hdfs dfs -rm -r /my_root/sub_dir/2020**
해결 과정
- 별표(asterisk)가 특수문자이기에 발생한 문제이다.
- escape 문자를 이용하여 디렉토리를 삭제한다.
- 다음의 명령을 입력 시에도 데이터가 정상적으로 삭제되지 않았다.
\$ hdfs dfs -rm -r /my_root/sub_dir/2020\*\*
- escape 문자를 하나 더 붙여 삭제를 진행하자 정상적으로 삭제가 되었다.
\$ hdfs dfs -rm -r /my_root/sub_dir/2020\\*\\*
결론
- 특수문자가 들어간 경로를 삭제 시에는 escape 문자 두개를 이용하면 정상적으로 삭제가 가능하다.
반응형