본문 바로가기
Hadoop

[Hadoop] 특수문자(wildcard)가 들어간 경로 삭제

by 초이MS 2020. 6. 9.

상황

  • 특수문자가 들어간 다음과 같은 경로는 일반적인 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 문자 두개를 이용하면 정상적으로 삭제가 가능하다.
반응형

'Hadoop' 카테고리의 다른 글

[Hadoop] HDFS에서 S3로 Distcp  (0) 2022.01.17
[Hadoop] Distcp 시 Check-sum mismatch 현상  (0) 2020.06.08

댓글