상황
- 특수문자가 들어간 다음과 같은 경로는 일반적인
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 문자 두개를 이용하면 정상적으로 삭제가 가능하다.
반응형
'기타' 카테고리의 다른 글
[Ubuntu] 우분투 듀얼부팅 적용 1편 (0) | 2020.08.20 |
---|---|
[Ubuntu] 우분투 부팅디스크 만들기(Gpt, MBR확인 포함) (0) | 2020.08.19 |
[Hadoop] Distcp 시 Check-sum mismatch 현상 (0) | 2020.06.08 |
[Spark] yarn cluster 모드 시 한글 깨짐 현상(UnicodeEncodeError) (0) | 2020.06.04 |
MySQL database character set 변경 (0) | 2020.06.03 |