Hadoop MapReduce Tutorial - WordCount

하둡과 자바 설치를 확인한다.
hadoop version
javac -version

아래 링크에서 소스 코드를 받는다.
https://www.dropbox.com/s/yp9i7nwmgzr3nkx/WordCount.java?dl=0

튜토리얼 디렉토리에 소스코드를 저장한다.
튜토리얼 디렉토리에 input_file 디렉토리를 만든 뒤 그 안에 input.txt를 만든다.
튜터리얼 디렉토리에 자바 클래스 파일을 위한 디렉토리를 생성한다.

HADOOP_CLASSPATH 환경을 설정한다.
export HADOOP_CLASSPATH=$(hadoop classpath)

설정을 확인한다.
echo $HADOOP_CALSSPATH

HDFS에 디렉토리를 만든다.
hadoop fs -mkdir /WordCountTutorial

지금 만든 이 디렉토리 안에 input을 위한 디렉토리를 만든다.
hadoop fs -mkdir /WordCountTutorial/Input

HDFS에 제대로 만들어졌는 지 확인한다.
localhost:50070 -> utilities

input 파일을 HDFS로 업로드한다.
hadoop fs -put <local input file path> <HDFS input directory>

HDFS에서 업로드를 확인한다.

자바 소스 코드가 있는 디렉토리로 가서(튜토리얼 디렉토리) 자바 코드를 컴파일 한다.
javac -classpath ${HADOOP_CLASSPATH} -d <자바 클래스 파일을 위한 디렉토리> <소스 코드>

자바 클래스 파일 디렉토리에서 만들어졌는 지 확인한다.

이 output 파일을 하나의 jar 파일로 만든다.
jar -cvf <jar파일 이름> -C <자바 클래스 디렉토리>/.

이 jar파일을 Hadoop에서 실행시킨다.
hadoop jar <jar file> <소스코드의 class name> <HDFS input directory> <HDFS output directory>

output을 확인한다.
hadoop dfs -cat <HDFS output directory(ex. /WordCountTutorial/Output)>

끝!



-------------------------------
Reference
https://www.youtube.com/watch?v=6sK3LDY7Pp4

댓글

이 블로그의 인기 게시물

논문 정리 - MapReduce: Simplified Data Processing on Large Clusters

논문 정리 - The Google File System

kazoo: Using zookeeper api with python