이번 강좌에서는 하둡의 분산 파일 시스템인 HDFS(Hadoop Distributed File System)에 대해 알아보고, 데이터를 업로드하고 관리하는 방법을 다루겠다.
또한 HDFS에서 사용할 수 있는 다양한 명령어들을 살펴보자.
HDFS는 대규모 데이터를 분산 저장하는 시스템이다.
데이터를 여러 블록으로 나누어 여러 노드에 분산하여 저장하며, 데이터를 복제해 데이터 손실에 대비한다.
HDFS의 기본 구조는 크게 NameNode와 DataNode로 이루어져 있다.
HDFS에 데이터를 업로드하는 가장 기본적인 작업을 해보자.
로컬 파일을 HDFS에 업로드하기 위해 다음 명령어를 사용한다. 이때, put
명령을 사용해 로컬 파일을 HDFS에 업로드한다.
hdfs dfs -put /path/to/local/file /user/hadoop/directory/
예시:
hdfs dfs -put ~/sample.txt /user/hadoop/
이 명령어는 sample.txt
파일을 HDFS의 /user/hadoop/
디렉토리에 업로드한다.
파일이 제대로 업로드되었는지 확인하려면 ls
명령을 사용한다.
hdfs dfs -ls /user/hadoop/
HDFS 경로 내 파일 목록을 확인할 수 있다.
HDFS에 있는 파일을 로컬로 다운로드하려면 get
명령을 사용한다.
hdfs dfs -get /user/hadoop/sample.txt /path/to/local/directory/
이 명령은 HDFS에 있는 sample.txt
파일을 로컬 경로로 다운로드한다.
HDFS에서 사용할 수 있는 다양한 파일 관리 명령어들을 살펴보자.
HDFS에 새 디렉토리를 생성하려면 mkdir
명령을 사용한다.
hdfs dfs -mkdir /user/hadoop/new_directory
이 명령은 HDFS에 new_directory
라는 디렉토리를 생성한다.
HDFS에서 파일을 삭제하려면 rm
명령을 사용한다.
hdfs dfs -rm /user/hadoop/sample.txt
이 명령은 HDFS에 있는 sample.txt
파일을 삭제한다.
디렉토리를 삭제하려면 -r
옵션을 사용해 재귀적으로 삭제할 수 있다.
hdfs dfs -rm -r /user/hadoop/new_directory
HDFS에 있는 파일의 내용을 확인하려면 cat
명령을 사용한다.
hdfs dfs -cat /user/hadoop/sample.txt
이 명령은 HDFS에 있는 sample.txt
파일의 내용을 출력한다.
HDFS에서 파일을 복사하려면 cp
명령을 사용한다.
hdfs dfs -cp /user/hadoop/sample.txt /user/hadoop/sample_copy.txt
이 명령은 sample.txt
파일을 sample_copy.txt
라는 이름으로 복사한다.
HDFS 내에서 파일을 이동하려면 mv
명령을 사용한다.
hdfs dfs -mv /user/hadoop/sample.txt /user/hadoop/archive/sample.txt
이 명령은 sample.txt
파일을 archive
디렉토리로 이동한다.
HDFS에 저장된 파일의 크기를 확인하려면 du
명령을 사용한다.
hdfs dfs -du /user/hadoop/sample.txt
이 명령은 sample.txt
파일의 크기를 출력한다.
로컬에 있는 파일을 업로드하고, 다시 다운로드해보자.
sample.txt
파일을 로컬에서 HDFS로 업로드한다.
hdfs dfs -put ~/sample.txt /user/hadoop/
hdfs dfs -ls /user/hadoop/
hdfs dfs -get /user/hadoop/sample.txt ~/downloaded_sample.txt
hdfs dfs -cat /user/hadoop/sample.txt
이번 강좌에서는 HDFS에 파일을 업로드하고, 파일 시스템 명령어를 사용하는 방법을 알아보았다.
다음 강좌에서는 하둡의 주요 컴포넌트인 MapReduce를 사용하여 데이터를 처리하는 방법을 알아보겠다.
다음 강좌에서는 MapReduce를 통한 데이터 처리 방법을 다루면서, 하둡의 핵심 기능을 이해하는 데 도움을 줄 것이다.