욱이의 냉철한 공부

[Hadoop, 하둡] 빅데이터 MAPREDUCE로 WordCount 본문

데이터엔지니어링/빅데이터 : Hadoop

[Hadoop, 하둡] 빅데이터 MAPREDUCE로 WordCount

냉철한 욱 2021. 6. 22. 02:50

 

하둡 대표 명령어 - OS명렁어(unix명령어)하고 비슷한 shell 명령어

- hadoop fs -help : 하둡 fs에서 제공하는 명령어 확인

- hadoop fs -ls : 지정된 폴더나 파일 정보를 출력, 권한정보, 소유자, 생성일자, 바이트 수 확인

- hadoop fs -lsr : 현재 폴더 및 하위 디렉토리 정보까지 출력

- hadoop fs -du : 지정된 폴더나 파일에 사용량을 확인하는 명령어

- hadoop fs -dus : du는 폴더와 파일별 용량 / dus는 전체 합계 용량

- hadoop fs cat : 지정된 파일의 내용을 출력. 텍스트 파일만 출력

- hadoop fs -mkdir : 지정된 경로에 폴더를 생성, 이미 존재하면 error

- hadoop fs -put [운영체제폴더파일][HDFS] : 지정된 운영체제 폴더나 파일을 HDFS에 복사

- hadoop fs -get [HDFS][운영체제폴더파일] : HDFS에 저장된 파일이나 폴더를 OS로 이동

- hadoop fs -rmr : 지정한 파일이나 폴더를 삭제

- hadoop fs -sts : 지정된 경로의 통계 정보 출력

- hadoop fs -expunge : 휴지통비우기, HDFS는 삭제한 파일을 일정기간동안 보관함

-> 하둡명령어와 자바패키지와 함께 MAPREDUCE(wordcount)를 실행해볼께요~!

 


 

1. start-all.sh : 하둡프로그램으로 접속한다. (이제 OS 세상이 아니라 HADOOP 세상입니다~!)

* user1@ubuntu1:~$ : ubuntu1이라는 컴퓨터에 user1 이라는 사용자가 접속한 것을 뜻합니다.

현재 ubuntu 운영체제입니다.

 

2. jps : 하둡프로그램이 정상적으로 돌아가고 있는지 확인합니다.

 

3. hadoop fs -mkdir input

하둡 프로그램의 홈에 input폴더를 생성한다.

(하둡프로그램 세상 속에서 폴더, 운영체제에는 나타나지 않습니다.)

hadoop fs -ls : 현재 하둡 프로그램의 홈에 어떤 폴더들이 있는지 확인한다.

 

4. hadoop fs -put /user/user1/input/README.txt input

운영체제의 /user/user1/input/README.txt 경로에 있는 README.txt파일을 하둡세상의 input 폴더 안에 HDFS로 복사한다.

여기서 /user/user1까지 하둡프로그램의 홈 경로이다.(하둡세상)

 

5. hadoop fs -put /user/user1/input/README.txt | head

하둡 input폴더 안에 README.txt를 오픈한다.

head는 앞에 조금만 오픈하라는 명령어이다.

 

 


 

 

 

6. hadoop jar $HADOOP_HOME/hadoop-examples*.jar wordcount input/README.txt output1

$HADOOP_HOME/hadoop-examples*.jar : 운영체제의 하둡 홈 경로에 hadoop-examples로 시작하는 자바패키지가 있다.

wordcount : 이 자바패키지에서 wordcount라는 기능을 실행시킨다.

input/README.txt : 하둡세상의 input폴더의 README.txt파일을 대상으로 wordcount 기능을 실행한다.

output1 : 실행 결과를 하둡세상에 있는 output1 폴더에 저장한다.

=> 자바로 이루어진 코딩을 직접 입력할 필요 없이 만들어진 자바 패키지를 실행한다.

 

map 100% reduce 100% : mapreduce 작업이 끝났다는 것을 알려준다.

 

7. hadoop fs -lsr output1 : 하둡세상에 있는 output1폴더 내부에 있는 파일 및 폴더를 확인한다.

 

8. hadoop fs -cat output1/part-r-00000 : MAPREDUCE결과가 저장된 HDFS파일인 part-r-00000을 실행시킨다.

9. hadoop fs -get output1/part-r-00000 $HADOOP_HOME/w.txt

하둡 프로그램(하둡세상)에 있는 HDFS파일인 part-r-00000을 운영체제의 하둡 홈에 w.txt명으로 복제시킨다.

 

10. gedit $HADOOP_HOME/w.txt

운영체제에 저장된 w.txt파일을 실행시킨다.

gedit는 txt파일을 실행시키는 OS명령어이다.