다음은 알아두면 좋을 하둡 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 [명령어]
'Programming > Hadoop' 카테고리의 다른 글
하둡 에코시스템이란? (hadoop ecosystem) (0) | 2018.04.24 |
---|---|
하둡(hadoop) 의 구조(아키텍처), 파일 입출력 프로세스, 맵 리듀스 개념 (0) | 2018.04.21 |
[OLAP] 빅데이터 다차원 분석 솔루션 KYLIN - 설치편 (0) | 2018.04.15 |