2020년 11월 2일 월요일

HADOOP HDFS [3] = FileSystem Shell 명령어

 

FS Shell은 HDFS와 직접 상용작용할 뿐만 아니라 WebHDFS, AmazonS3 Azure WASB 등 하둡에서 지원하는 다른 파일시스템도 포함되어있다.

FS Shell은 " bin/hadoop fs <args>" 에 의해 호출된다. 

HDFS가 이미 사용되고 있다면 hdfs dfs는 동의어이다.(=hadoop fs)


* 'hadoop fs'와 'hdfs dfs' 명령어차이는 전자는 다른 응용프로그램(WebHDFS, AmazonS3 Azure 등) 에서도 사용하는 포괄적인 명령어고 후자는 HDFS에서만 사용할 수 있는 명령어이다. 



cat

hadoop fs -cat /user/hive/text1.txt

: 해당 파일내용을 stdout(콘솔) 출력한다.


chgrp

hadoop fs -chgrp [-R] 변경할그룹 변경할 파일or디렉토리명

: 디렉토리 또는 파일의 소유 그룹을 변경한다. 옵션 -R은 디렉토리 하위모든 파일까지 변경.


chmod

hadoop fs -chmod 744 hdfs파일or디렉토리먕

: hdfs파일의 권한을 변경한다.


chown

hadoop fs -chown 변경할소유자 hdfs파일or디렉토리명

: 파일 소유권을 변경한다. 옵션 -R은 디렉토리 하위모든 파일까지 변경.


copyFromLocal / moveFromLocal / appendToFile / put

hadoop fs -copyFromLocal <로컬파일경로> <hdfs파일경로>

: 로컬파일을 hdfs파일시스템에 복사/이동 시킨다.


copyToLocal / moveToLocal

hadoop fs -copyFromLocal <hdfs파일경로> <로컬파일경로>

: hdfs파일을 로컬경로에 복사/이동 시킨다.


cp / mv

hadoop fs -copyFromLocal <이동시킬 hdfs파일경로> <이동할 hdfs파일경로>

: hdfs파일을 지정한 hdfs경로에 복사/이동 시킨다.


count

hadoop fs -count [-q] [-h] [-v] [t (storage type) ] [-u] <hdfs경로>

: hdfs경로의 파일 및 바이트 수, 디렉토리수 할당량 등을 출력한다.

  • -q : 할당량 함께 표시
  • -u : 할당량과 사용량 표시
  • -t : -q, -u옵션과 사용되며 저장소 유형에 대한 할당량과 사용량 표시
  • -h : 파일크기를 사람이 읽을 수 있는 형식으로 표시
  • -v : 헤더라인을 표시


createSnapshot

hdfs dfs -createSnapshop <hdsf경로> <snapshot이름>

: hdfs 스냅샷 생성


renameSnapshot

hdfs dfs -createSnapshop <hdsf경로> <old snapshot이름> <new snapshot이름>

: hdfs 스냅샷 파일이름 변경


deleteSnapshot

hdfs dfs -deleteSnapshot<hdsf경로> <snapshot이름>

: hdfs 스냅샷 삭제


* 스냅샷 관련 참조내용 

: https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-hdfs/HdfsSnapshots.html


df

hadoop fs -df <hdfs경로>

: 할당가능량(free space)를 표시


du

hadoop fs -du [옵션] <hdfs경로>

: 지정된 경로의 파일 및 디렉토리 길이를 표시

  • -s : 개별파일이 아닌 전체 파일길이의 요약이 표시. 
  • -h : 사람이보기편한 방식으로 표시.
  • -v : 열이름을 헤드라인으로 표시.


find

hadoop fs -find / -name test -print ( hadoop fs -find <path> -name filename <expression> )

: 파일을 찾는다. 


getmerge

hadoop fs -getmerge -nl <hdfs경로> <로컬경로>

: hdfs경로 안에 있는 파일들을 합병한 결과파일을 로컬경로에 생성한다. 


head / tail

hadoop fs -head <hdfs경로>

: 지정된 파일의 앞부분/뒷부분을 stdout출력한다.


ls

hadoop fs -ls <hdfs경로>

: 해당경로의 파일or디렉토리를 조회한다.


mkdir

hadoop fs -mkdir <생성할 디렉토리명>

: 디렉토리를 생성


rm

hadoop fs -rm [옵션] <hdfs파일or디렉토리>

: 파일or디렉토리 삭제

  • - f : 진단메세지 무시
  • - R : 디렉토리와 하위파일모두 삭제


touch

hadoop fs -touch <pathname>

: 지정경로의 파일의 수정시간을 현재시간으로 업데이트. 파일이 없으면 길이0의 파일로 생성


touchz

hadoop fs -touchz <hdfs경로>

: 길이 0의 파일을 생성, 기존 파일이 있다면 오류


truncate

hadoop fs -truncate <파일길이> <hdfs경로>

: 지정된 경로의 지정한 길이로 파일을 잘라낸다.


댓글 없음:

댓글 쓰기