■ 참조 Hadoop File System Shell Guide.
■ appendToFile : 로컬 시스템의 파일을 기존에 존재하는 hdfs 파일시스템의 파일에 붙인다.
bash$ hadoop fs -appendToFile [로컬 시스템의 파일] [HDFS 파일시스템 디렉토리] /[파일명]
1 2 3 4 5 6 7 8 9 | bash $ hadoop fs -touchz /data/test/sample .txt bash $ hadoop fs - ls -R /data/test -rw-r--r-- 3 0 /data/test/sample .txt bash $ hadoop fs -usage appendToFile Usage: hadoop fs [generic options] -appendToFile <localsrc> ... <dst> bash $ hadoop fs -appendToFile license.txt /data/test/sample .txt [nextman@centos01 script]$ hadoop fs - ls /data/test Found 1 items -rw-r--r-- 3 15459 /data/test/sample .txt |
■ cat : [파일명] 의 내용을 출력한다.
bash$ hadoop fs -cat /data/[파일명]
■ chgrp : 파일의 소유 그룹을 변경한다. ‘-R’ 옵션을 추가하면 디렉토리 하위의 모든 디렉토리와 파일의 소유 그룹을 변경한다.
bash$ hadoop fs -chgrp [변경할 그룹] [변경할 디렉토리 혹은 파일]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | bash $ hadoop fs - ls /data/test Found 2 items -rw-r--r-- 3 nextman supergroup /data/test/sample .log -rw-r--r-- 3 nextman supergroup /data/test/sample .txt bash $ hadoop fs - chgrp root /data/test/sample .log bash $ hadoop fs - ls /data/test Found 2 items -rw-r--r-- 3 nextman root /data/test/sample .log -rw-r--r-- 3 nextman supergroup /data/test/sample .txt bash $ hadoop fs - chgrp root /data/test/ * bash $ hadoop fs - ls /data/test Found 2 items -rw-r--r-- 3 nextman root /data/test/sample .log -rw-r--r-- 3 nextman root /data/test/sample .txt bash $ hadoop fs - chgrp supergroup /data/test/ * bash $ hadoop fs - ls /data/test Found 2 items -rw-r--r-- 3 nextman supergroup /data/test/sample .log -rw-r--r-- 3 nextman supergroup /data/test/sample .txt |
■ chmod : 파일의 모드(drwxrwxrwx)를 변경한다. ‘-R’ 옵션을 사용하면 하위 디렉토리에도 같이 반영된다.
bash$ hadoop fs -chmod [MODE CHANGE RULE] [hdfs 파일시스템 디렉토리 혹은 파일명]
1 2 3 4 5 6 7 8 9 10 11 | bash $ hadoop fs - ls /data/test/sample .log -r--r--r-- 3 913785 /data/test/sample .log bash $ hadoop fs - chmod +w /data/test/sample .log bash $ hadoop fs - ls /data/test/sample .log -rw-rw-rw- 3 913785 /data/test/sample .log bash $ hadoop fs - chmod o-w /data/test/sample .log bash $ hadoop fs - ls /data/test/sample .log -rw-rw-r-- 3 913785 /data/test/sample .log bash $ hadoop fs - chmod 755 /data/test/sample .log bash $ hadoop fs - ls /data/test/sample .log -rwxr-xr-x 913785 /data/test/sample .log |
■ chown : 파일의 소유권을 변경한다. ‘-R’ 옵션을 사용하면 하위 디렉토리에도 같이 반영된다.
bash$ hadoop fs -chown [이전할 소유자] [hdfs 파일시스템 디렉토리 혹은 파일명]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | $ hadoop fs - chown root /data/test/sample .log bash $ hadoop fs - ls /data/test/sample .log -rwxr-xr-x 3 root root 913785 2016-03-13 17:57 /data/test/sample .log bash $ hadoop fs - ls /data/test Found 2 items -rwxr-xr-x 3 root root /data/test/sample .log -rw-r--r-- 3 nextman root /data/test/sample .txt bash $ hadoop fs - ls -R /data/test -rwxr-xr-x 3 root root /data/test/sample .log -rw-r--r-- 3 nextman root /data/test/sample .txt bash $ hadoop fs - ls -R /data drwxr-xr-x - nextman root /data/test -rwxr-xr-x 3 root root /data/test/sample .log -rw-r--r-- 3 nextman root /data/test/sample .txt drwxr-xr-x - nextman root /data/wiki drwxr-xr-x - nextman root /data/wiki/input drwxr-xr-x - nextman root /data/wordcount drwxr-xr-x - nextman root /data/wordcount/input -rw-r--r-- 3 nextman root /data/wordcount/input/sample .txt drwxr-xr-x - nextman root /data/wordcount/output |
■ 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
■ 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
■ cp : HDFS 파일시스템내에서 파일을 복사한다. -f 옵션은 목적지 디렉토리에 같은 파일이 있을 경우 덮어 쓴다.
bash$ hadoop fs -cp [HDFS 파일시스템 파일] [HDFS 파일시스템 디렉토리]
■ df : 디렉토리의 여유 저장 공간을 알려준다. -h 옵션을 추가하면 사람이 읽기 쉽게 보여준다.
bash$ hadoop fs -df [HDFS 파일시스템 디렉토리]
bash$ hadoop fs -df -h [HDFS 파일시스템 디렉토리]
1 2 3 4 5 6 | bash $ hadoop fs - df /data Filesystem Size Used Available Use% hdfs: //centos01 :9000 701299851264 6529024 662186717184 0% bash $ hadoop fs - df -h /data Filesystem Size Used Available Use% hdfs: //centos01 :9000 653.1 G 6.2 M 616.7 G 0% |
■ du : 지정한 디렉토리의 하위 디렉토리가 사용하고 있는 데이터의 크기를 알려준다. -h 옵션을 추가하면 사람이 읽기 쉽게 보여주고 -s 옵션은 그 디렉토리 자체(자식포함)의 디스크 사용량을 알려준다.
bash$ hadoop fs -du [HDFS 파일시스템 디렉토리]
bash$ hadoop fs -du -h [HDFS 파일시스템 디렉토리]
bash$ hadoop fs -du -s [HDFS 파일시스템 디렉토리]
1 2 3 4 5 6 7 8 9 10 | $ hadoop fs - du /data 1858488 /data/test 0 /data/wiki 47898 /data/wordcount bash $ hadoop fs - du -s /data 1906386 /data bash $ hadoop fs - du -h /data 1.8 M /data/test 0 /data/wiki 46.8 K /data/wordcount |
■ dus : 이 명령어는 deprecated되었다. 대신 du -s 명령어를 사용하면 된다.
■ get : hdfs 파일시스템의 파일을 로컬 파일시스템으로 복사한다. 아래의 예에서는 hdfs 파일시스템의 ‘/data/test’디렉토리의 ‘sample.txt’ 파일을 로컬 파일시스템의 ‘/home/nextman’ 디렉토리에 ‘xx.txt’라는 파일명으로 복사한다.
bash$ hadoop fs -get [hdfs 파일시스템의 파일] [로컬 파일시스템의 파일]
1 | $ hadoop fs -get /data/test/sample .txt /home/nextman/xx .txt |
■ help : hdfs 파일 시스템 관련 도움말을 확인한다
bash$ hadoop fs -help
■ ls -R : hdfs 파일 시스템의 ‘/data’ 디렉토리의 파일 리스트를 조회한다. 2번째처럼 ‘-R’ 옵션을 추가하면 하위 디렉토리를 포함한 전체 파일 리스트를 확인할 수 있다.
bash$ hadoop fs -ls /data
bash$ hadoop fs -ls -R /data
■ mkdir : ‘/'(root) 디렉토리 하위에 ‘data’ 디렉토리를 생성한다.
bash$ hadoop fs -mkdir /data
■ moveFromLocal : put 명령어와 유사하며 로컬 시스템의 파일이 hdfs파일 시스템으로 복사가 된 후 로컬 시스템의 파일은 삭제된다.
bash$ hadoop fs -moveFromLocal [로컬 파일시스템의 파일] [hdfs 파일시스템의 디렉토리]
■ moveToLocal : 아직 구현이 되지 않았다.(not implemented)
1 2 | $ hadoop fs -moveToLocal /data/test/sample .txt moveToLocal: Option '-moveToLocal' is not implemented yet. |
■ mv : hdfs 파일 시스템내에서 디렉토리 혹은 파일(들)을 이동한다.
bash$ hadoop fs -mv [hdfs 파일시스템의 디렉토리 혹은 파일] [hdfs 파일시스템의 디렉토리]
1 2 3 4 5 6 7 8 9 10 11 12 13 | bash $ hadoop fs - ls -R /data drwxr-xr-x - 0 2016-03-13 17:57 /data/test -rw-r--r-- 3 913785 2016-03-13 17:57 /data/test/sample .log -rw-r--r-- 3 944703 2016-03-13 17:14 /data/test/sample .txt drwxr-xr-x - 0 2016-03-09 07:40 /data/wiki drwxr-xr-x - 0 2016-03-09 07:40 /data/wiki/input bash $ hadoop fs - mv /data/wiki /data/test bash $ hadoop fs - ls -R /data drwxr-xr-x - 0 2016-03-13 18:17 /data/test -rw-r--r-- 3 913785 2016-03-13 17:57 /data/test/sample .log -rw-r--r-- 3 944703 2016-03-13 17:14 /data/test/sample .txt drwxr-xr-x - 0 2016-03-09 07:40 /data/test/wiki drwxr-xr-x - 0 2016-03-09 07:40 /data/test/wiki/input |
■ put : 로컬 파일시스템의 파일을 hdfs 파일시스템으로 복사한다. copyFromLocal 명령어와 유사하다.
bash$ hadoop fs -put [로컬시스템의 파일] [hdfs 파일시스템의 디렉토리]
1 | hadoop fs -put sample.log /data/test |
■ rm : [파일명] 을 삭제한다.
bash$ hadoop fs -rm /data/[파일명]
■ rm -r : 디렉토리 삭제 명령어. -r 옵션은 삭제하려는 디렉토리에 파일이 있더라도 삭제한다.
bash$ hadoop fs -rm -r /home/data/hadoop/dfs/data/wordcount2
■ rmdir : ‘data’ 디렉토리를 삭제한다. 만약 삭제하려는 ‘data’디렉토리 하위에 디렉토리나 파일이 있으면 ‘data’디렉토리를 삭제하지 않는다.
bash$ hadoop fs -rmdir /data
■ rmr : 이 명령어는 deprecated 되었다. 대신 rm -r 명령어를 사용하자.
■ tail : 파일의 마지막 1 kilobyte를 stdout(표준출력, 콘솔)에 표시한다. ‘-f’ 옵션은 파일이 계속 증가하는 경우에 확인하기 편리하다.
bash$ hadoop fs -tail [HDFS시스템 파일명]
bash$ hadoop fs -tail -f [HDFS시스템 파일명]
1 | bash $ hadoop fs - tail -f /data/test/sample .txt |
■ touchz : 파일 크기가 0인 파일을 생성한다.
bash$ hadoop fs -touchz [생성할 HDFS시스템 파일명]
bash$ hadoop fs -touchz /data/test/sample.txt
1 2 3 | bash $ hadoop fs -touchz /data/test/sample .txt bash $ hadoop fs - ls /data/test/sample .txt -rw-r--r-- 3 0 /data/test/sample .txt |
■ usage : hadoop fs의 각 명령어에 대한 간단한 사용법을 알 수 있다. 아래는 createSnapshot에 대한 사용법을 확인하고 있다.
bash$ hadoop fs -usage [명령어]
1 2 | bash $ hadoop fs -usage createSnapshot Usage: hadoop fs [generic options] -createSnapshot <snapshotDir> [<snapshotName>] |
checksum
count
createSnapshot
deleteSnapshot
expunge
find
getfacl
getfattr
getmerge
renameSnapshot
setfacl
setfattr
setrep
stat
test
text
truncate
- hadoop fs 명령어 정리 2016년 3월 9일
- Eclipse Hadoop WordCount 2016년 3월 1일
- Missing artifact jdk.tools:jdk.tools.:jar:1.x 2016년 3월 1일
- localhost: Error: JAVA_HOME is not set and could not be found. 2016년 2월 28일
- Hadoop 완전분산 설치 2016년 2월 28일
- hadoop standalone mode install – 하둡 단일모드 설치 2014년 9월 13일
출처 : http://blog.iotinfra.net/?p=12
'빅데이터 > Hadoop' 카테고리의 다른 글
Big Data Analysis (0) | 2018.08.09 |
---|---|
Hadoop Ecosystem (0) | 2018.08.06 |
오픈 소스 프레임워크를 활용한 검색엔진 구현 (0) | 2018.08.03 |
hadoop 자주쓰는 명령어 / Wordcount.java / wc.jar 파일 (0) | 2018.08.02 |
Hadoop WordCount v1.0 wc.jar (0) | 2018.08.02 |