데이터 엔지니어링/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 파일 경로 및 이름]