본문 바로가기
Programming/Hadoop

hadoop fs 명령어 모음

by 제타 2018. 4. 22.
반응형

다음은 알아두면 좋을 하둡 fs 명령어들이다.


1. appendToFile : 로컬 시스템의 파일을 기존에 존재하는 hdfs 파일시스템의 파일에 이어 붙인다.

bash$ hadoop fs -appendToFile [로컬 시스템의 파일] [HDFS 파일시스템 디렉토리] /[파일명]


2. cat : [파일명] 의 내용을 출력한다.

bash$ hadoop fs -cat /data/[파일명]


3. chgrp : 파일의 소유 그룹을 변경한다. -R 옵션을 추가하면 디렉토리 하위의 모든 디렉토리와 파일의 소유 그룹을 변경한다.

bash$ hadoop fs -chgrp [변경할 그룹] [변경할 디렉토리 혹은 파일]


4. chmod : 파일의 모드(drwxrwxrwx)를 변경한다. ‘-R’ 옵션을 사용하면 하위 디렉토리에도 같이 반영된다.

bash$ hadoop fs -chmod [MODE CHANGE RULE] [hdfs 파일시스템 디렉토리 혹은 파일명]


5. chown : 파일의 소유권을 변경한다. ‘-R’ 옵션을 사용하면 하위 디렉토리에도 같이 반영된다.

   bash$ hadoop fs -chown [이전할 소유자] [hdfs 파일시스템 디렉토리 혹은 파일명]


6. copyFromLocal : 로컬 파일시스템에서 HDFS 파일 시스템으로 파일 복사(-copyFromLocal), /home/nextman/sample.txt : 로컬 파일 시스템의 디렉토리, /data/wordcount/input : HDFS 파일 시스템의 디렉토리.

bash$ hadoop fs -copyFromLocal [로컬파일시스템 디렉토리]/[파일명] [HDFS 파일시스템 디렉토리]/

bash$ hadoop fs -copyFromLocal /home/nextman/sample.txt /data/wordcount/input


7. copyToLocal : HDFS 파일시스템에서 로컬 파일 시스템으로 파일 복사(-copyToLocal), /data/wordcount/input/sample.txt : HDFS 파일 시스템의 파일, /home/nextman/tmp : 로컬 시스템의 파일 디렉토리.

bash$ hadoop fs -copyToLocal [HDFS 파일시스템 디렉토리] /[파일명] [로컬파일시스템 디렉토리] /

bash$ hadoop fs -copyToLocal /data/wordcount/input/sample.txt /home/nextman/tmp


8. cp : HDFS 파일시스템내에서 파일을 복사한다. -f 옵션은 목적지 디렉토리에 같은 파일이 있을 경우 덮어 쓴다.

bash$ hadoop fs -cp [HDFS 파일시스템 파일] [HDFS 파일시스템 디렉토리]


9. df : 디렉토리의 여유 저장 공간을 알려준다. -h 옵션을 추가하면 사람이 읽기 쉽게 보여준다.

bash$ hadoop fs -df [HDFS 파일시스템 디렉토리]

bash$ hadoop fs -df -h [HDFS 파일시스템 디렉토리]


10. du : 지정한 디렉토리의 하위 디렉토리가 사용하고 있는 데이터의 크기를 알려준다. 

-h 옵션을 추가하면 사람이 읽기 쉽게 보여주고 -s 옵션은 그 디렉토리 자체(자식포함)의 디스크 사용량을 알려준다.

bash$ hadoop fs -du [HDFS 파일시스템 디렉토리]

bash$ hadoop fs -du -h [HDFS 파일시스템 디렉토리]

bash$ hadoop fs -du -s [HDFS 파일시스템 디렉토리]


11. dus : 이 명령어는 deprecated되었다. 대신 du -s 명령어를 사용하면 된다.


12. get : hdfs 파일시스템의 파일을 로컬 파일시스템으로 복사한다. 아래의 예에서는 hdfs 파일시스템의 ‘/data/test’디렉토리의 ‘sample.txt’ 파일을 로컬 파일시스템의 ‘/home/nextman’ 디렉토리에 ‘xx.txt’라는 파일명으로 복사한다.

bash$ hadoop fs -get [hdfs 파일시스템의 파일] [로컬 파일시스템의 파일]

$ hadoop fs -get /data/test/sample.txt /home/nextman/xx.txt


13. help : hdfs 파일 시스템 관련 도움말을 확인한다

bash$ hadoop fs -help


14. ls -R : hdfs 파일 시스템의 ‘/data’ 디렉토리의 파일 리스트를 조회한다. 2번째처럼 ‘-R’ 옵션을 추가하면 하위 디렉토리를 포함한 전체 파일 리스트를 확인할 수 있다.

bash$ hadoop fs -ls /data

bash$ hadoop fs -ls -R /data


15. mkdir : ‘/'(root) 디렉토리 하위에 ‘data’ 디렉토리를 생성한다.

bash$ hadoop fs -mkdir /data


16. moveFromLocal : put 명령어와 유사하며 로컬 시스템의 파일이 hdfs파일 시스템으로 복사가 된 후 로컬 시스템의 파일은 삭제된다.

bash$ hadoop fs -moveFromLocal [로컬 파일시스템의 파일] [hdfs 파일시스템의 디렉토리]


17. mv : hdfs 파일 시스템내에서 디렉토리 혹은 파일(들)을 이동한다.

bash$ hadoop fs -mv [hdfs 파일시스템의 디렉토리 혹은 파일] [hdfs 파일시스템의 디렉토리]


18. put : 로컬 파일시스템의 파일을 hdfs 파일시스템으로 복사한다. copyFromLocal 명령어와 유사하다.

bash$ hadoop fs -put [로컬시스템의 파일] [hdfs 파일시스템의 디렉토리]


19. rm : [파일명] 을 삭제한다.

bash$ hadoop fs -rm /data/[파일명]


20. rm -r : 디렉토리 삭제 명령어. -r 옵션은 삭제하려는 디렉토리에 파일이 있더라도 삭제한다.

bash$ hadoop fs -rm -r /home/data/hadoop/dfs/data/wordcount2


21.  rmdir : ‘data’ 디렉토리를 삭제한다. 만약 삭제하려는 ‘data’디렉토리 하위에 디렉토리나 파일이 있으면 ‘data’디렉토리를 삭제하지 않는다.

bash$ hadoop fs -rmdir /data


22. rmr : 이 명령어는 deprecated 되었다. 대신 rm -r 명령어를 사용하자.


23. tail : 파일의 마지막 1 kilobyte를 stdout(표준출력, 콘솔)에 표시한다. ‘-f’ 옵션은 파일이 계속 증가하는 경우에 확인하기 편리하다.

bash$ hadoop fs -tail [HDFS시스템 파일명]

bash$ hadoop fs -tail -f [HDFS시스템 파일명]


24. touchz : 파일 크기가 0인 파일을 생성한다.

bash$ hadoop fs -touchz [생성할 HDFS시스템 파일명]

bash$ hadoop fs -touchz /data/test/sample.txt


25. usage : hadoop fs의 각 명령어에 대한 간단한 사용법을 알 수 있다. 아래는 createSnapshot에 대한 사용법을 확인하고 있다.

bash$ hadoop fs -usage [명령어]






반응형