<HDFS architecutre>
Hadoop을 적절히 사용하기 위해서는 hdfs 명령어를 알아야 한다. 아래에 정리를 해 보았다.
※ 2.6.0 version을 기준으로 정리함
Hadoop 명령어
Hadoop filesystem command를 사용하기 위함.
Usage : hdfs dfs [GENERIC_OPTIONS] [COMMAND_OPTIONS]
HDFS 명령어
File System(FS) shell은 Hadoop Distributed File System(HDFS)를 여타 파일시스템처럼 관리하기 위한 목적으로 command를 사용할 수 있다. Hadoop-2.6.0에서는 총 33개의 HDFS 명령어를 지원한다.
1) appendToFile
Local 파일들을 hdfs에 append 저장하기 위한 목적
Usage: hdfs dfs -appendToFile {localsrc} ... {dst}
2) cat
해당 파일을 stdout으로 찍어서 보여준다. (linux 명령어 cat과 동일)
Usage: hdfs dfs -cat URI [URI ...]
3) chgrp
해당 파일의 오너이거나 슈퍼오너라면, 해당 파일의 그룹 권한을 변경가능하다.
Usage: hdfs dfs -chgrp [-R] GROUP URI [URI ...]
4) chmod
해당 파일의 오너이거나 슈퍼오너라면, 특정 파일의 permission 수정. -R 옵션과 함께라면 예하 파일들에 대해서 동일하게 permission 적용 가능
Usage: hdfs dfs -chmod [-R] {MODE[,MODE]... | OCTALMODE} URI [URI ...]
5) chown
슈퍼오너일 경우 해당 파일의 owner를 변경. 상세 Permission guide(바로가기) 참고
Usage: hdfs dfs -chown [-R] [OWNER][:[GROUP]] URI [URI ]
6) copyFromLocal
Local 파일을 hdfs에 업로드. put명령어와 유사
Usage: hdfs dfs -copyFromLocal {localsrc} URI
7) copyToLocal
Hdfs에 있는 파일을 local directory에 다운로드, get 명령어와 유사
Usage: hdfs dfs -copyToLocal [-ignorecrc] [-crc] URI {localdst}
8) count
Directory 개수, file 개수 등을 카운트하여 숫자로 보여줌.
Usage: hdfs dfs -count [-q] [-h]
-count : DIR_COUNT, FILE_COUNT, CONTENT_SIZE FILE_NAME 을 보여줌
-count -q : QUOTA, REMAINING_QUATA, SPACE_QUOTA, REMAINING_SPACE_QUOTA, DIR_COUNT, FILE_COUNT, CONTENT_SIZE, FILE_NAME 을 보여줌
-h : Show sizes human readable format
9) cp
Hdfs내부에서 파일을 복붙함. 만약 복사하고자 하는 대상이 여러개라면 붙여넣는 곳은 반드시 Directory여야 한다.
Usage: hdfs dfs -cp [-f] [-p | -p[topax]] URI [URI ...] {dest}
-f : Overwrite the destination if it already exist
-p : 파일 속성(timestamps, ownership, permission, ACL, XAttr)을 유지하고 복붙 수행
10) du
Hdfs내부의 특정 file이나 directory의 size를 보여줌
Usage: hdfs dfs -du [-s] [-h] URI [URI ...]
-s : 각각의 파일(혹은 directory) size의 sum 값을 보여줌
-h : Show human-readable format
11) dus
특정 file의 length를 보여줌.
Usage: hdfs dfs -dus {args}
12) expunge
휴지통 비우기(완전 삭제)
Usage: hdfs dfs -expunge
13) get
Hdfs의 파일을 local directory로 다운로드
Usage: hdfs dfs -get [-ignorecrc] [-crc] {src} {localdst}
14) getfacl
Hdfs의 특정 파일 혹은 디렉토리의 ACLs(Access Control Lists)정보를 보여줌
Usage: hdfs dfs -getfacl [-R] {path}
15) getfattr
Hdfs의 특정 파일 혹은 디렉토리의 속성 정보들을 나열, 보여줌
Usage: hdfs dfs -getfattr [-R] -n name | -d [-e en] {path}
-R : 파일 혹은 디렉토리 이하의 폴더들에 대한 정보 보여줌
16) getmerge
Hdfs내부의 source file을 local file에 append하여 붙여 다운로드
Usage: hdfs dfs -getmerge {src} {localdst} [addnl]
17) ls
특정 디렉토리의 파일 혹은 디렉토리를 보여줌
Usage: hdfs dfs -ls [-R] {args}
-R : 특정 디렉토리 이하에 대해서 정보를 보여줌
18) lsr
ls -R 과 동일하게 작동
Usage: hdfs dfs -lsr {args}
19) mkdir
특정 path에 directory 생성
Usage: hdfs dfs -mkdir [-p] {paths}
20) movefromLocal
Local의 파일을 hdfs에 저장. put과 비슷하지만 저장 이후 local file은 삭제
Usage: hdfs dfs -moveFromLocal {localsrc} {dst}
21) moveToLocal
Hdfs의 파일을 local에 저장. get과 비슷하지만 저장 이후 hdfs file은 삭제
Usage: hdfs dfs -moveToLocal [-crc] {src} {dst}
22) mv
Hdfs내부에서 파일을 옮김
Usage: hdfs dfs -mv URI [URI ...] {dest}
23) put
Local의 파일들을 hdfs에 저장
Usage: hdfs dfs -put {localsrc} ... {dst}
24) rm
Hdfs의 특정 폴더 혹은 파일을 삭제
Usage: hdfs dfs -rm [-f] [-r|-R] [-skipTrash] URI [URI ...]
-R : 특정 디렉토리 이하의 폴더 모두 제거
-r : -R과 동일
-skipTrash : 즉시 완전 삭제
25) rmr
rm -r과 동일한 명령어
Usage: hdfs dfs -rmr [-skipTrash] URI [URI ...]
26) setfacl
Hdfs의 특정 폴더 혹은 파일에 대해 Access Control Lists(ACLs)를 set
Usage: hdfs dfs -setfacl [-R] [-b|-k -m|-x {acl_spec} {path}]|[--set {acl_spec} {path}]
27) setfattr
Hdfs의 특정 폴더 혹은 파일에 대해 속성을 set
Usage: hdfs dfs -setfattr -n name [-v value] | -x name {path}
28) setrep
Hdfs의 특정 파일에 대해 replication factor을 수정
Usage: hdfs dfs -setrep [-R] [-w] {numReplicas} {path}
29) stat
Hdfs의 특정 디렉토리의 stat information 확인
Usage: hdfs dfs -stat URI [URI ...]
30) tail
특정 file에 대해 마지막 kilobyte을 stdout으로 보여줌
Usage: hdfs dfs -tail [-f] URI
31) test
옵션과 함께 파일 혹은 디렉토리의 이상 유무를 체크
Usage: hdfs dfs -test -[ezd] URI
-e : file exist, return 0
-z : file is zero length, return 0
-d : path is diretory, return 0
32) text
Hdfs의 특정 파일을 text format으로 확인
Usage: hdfs dfs -text {src}
33) touchz
Zero length인 file을 생성
Usage: hdfs dfs -touchz URI [URI ...]
'빅데이터 > 하둡' 카테고리의 다른 글
HDFS cilent 사용시 HA구성된 node 연결하기 (0) | 2020.03.11 |
---|---|
pyspark에서 gzip으로 압축되어 있는 파일 읽는 방법 (0) | 2020.02.11 |
pyspark에러 ImportError: No module named XXXX (1) | 2020.02.10 |
[local hadoop]localhost port 22: Connection refused 에러 발생시 해결방법 in MacOS (0) | 2020.01.16 |
Java로 AWS s3에 간단히 file write하기(hadoop-aws 라이브러리 사용, NativeS3FileSystem) (249) | 2019.07.11 |
Hadoop에서 hadoop job은 어떻게 각 data node에서 job을 수행할까? (371) | 2018.12.17 |