먹수의 개발일지

[Hadoop] 하둡 명령어 정리 디렉토리 생성/삭제 및 파일 조회 본문

데이터 엔지니어링/Hadoop

[Hadoop] 하둡 명령어 정리 디렉토리 생성/삭제 및 파일 조회

icandle 2024. 11. 9. 12:16

Intro

HDFS 명령어로 디렉토리를 생성, 삭제하고  파일을 삭제, 복사, 다운로드, 출력하는 명령어를 정리해보자.

 

디렉토리 관리

디렉토리 생성 및 조회

hdfs dfs -mkdir [디렉터리 명]

hdfs dfs -ls /   #생성된 전체 디렉토리 리스트 확인
hdfs dfs -ls /user #user 디렉토리의 하위 폴더 및 파일들 확인

 

디렉토리/파일 삭제

  • -f : 진단 메시지를 보이지 않거나, 파일이 존재 하지 않을 경우 에러를 나타내기 위한 exist status 를 수정한다.
  • -r : 컨텐츠와 디렉터리를 recursive 하게 삭제한다.
hdfs dfs -rm -r [directory path] 
#hdfs dfs rmdir [directory path]와 동일하게 사용 가능하다.

hdfs dfs -rm [file path]
# hdfs dfs -rm -r /user/data
  • 주의 : 디렉토리 생성을 하지 않고 hdfs dfs -ls 명령어를 실행할 경우 ls:’.’ No such file or directoryARN 에러가 발생하게 된다.

 

파일 관리 

파일 용량 확인하기

hdfs dfs -du -h /
#hdfs dfs -du / 

-h : (human readable) 사람이 읽게 편하도록 용량을 출력해준다.

단순 byte로 표시 → M, G등 큰 단위는 다른 단위와 함께 표시해준다.

 

파일 내용 출력하기(cat, text)

hdfs dfs -cat [파일경로]  #텍스트만 가능
hdfs dfs -text [파일경로] #압축된 형태도 가능하다
# hdfs dfs -cat /user/root/test.csv

 

 

local 파일을 복사하여 하둡에 업로드하기 (put, copyFromLocal)

#업로드할 파일이 있는 로컬로 이동
cd /home/hadoop_home/example/datasource 

hdfs dfs -put [로컬의 디렉토리명/파일명] [업로드할 하둡의 디렉토리 경로] 
hdfs dfs -copyFromLocal [로컬의 디렉토리명/파일명] [업로드할 하둡의 디렉토리 경로] 

#hadoop fs -put input /data
#hdfs dfs -copyFromLocal metadata /data

 

 

HFDS파일을 local로 다운로드/복사하기

  • get
    • -crc 옵션 : checksum 파일도 복사 가능하다.
hdfs dfs -get /data/metadata/carriers.csv carriers-copied.csv
#복사할 파일명을 생략할 경우 현재 경로에 같은 이름으로 복사된다. 
hdfs dfs -copyToLocal /data/metadata/carriers.csv /data/metadata/carriers.csv
  • getmerge
    • -nl : 합칠 때 새로운 줄 추가하기
hdfs dfs -getmerge -skip-empty-file -nl [합칠 hdfs 파일 경로 1] [hdfs 파일 경로 2] ... [ 로컬에 합친 파일 생성할 경로 및 파일명]
#hdfs dfs -getmerge -skip-empty-file -nl /data/metadata/carriers-origin.csv /data/metadata/carriers.csv carriers-merged.csv 

 

 

HDFS안에서 파일 복사하기

hdfs dfs -cp [hdfs 파일 경로1] [복사할 hfds 파일 경로 및 이름]
Comments