빅데이터

빅데이터 - 3. 맵리듀스 응용 구축

2022. 8. 30. 15:57
728x90

1. 데이터 다운로드

  •  wget을 이용하여 사이트에 있는 receipts.txt 파일을 다운로드 한다.
  • 정상적으로 다운로드를 완료한다.

 

2. RECEIPTS

  • ReceiptsMapper
    • 패키지 Receipts를 받아, import를 한다.
    • Mapper 클래스 인수 : 입력키,입력값,출력키,출력값 타입을 구분
    • Map() 메서드 인수 : 입력키, 입력값,실행되는 작업의 컨텍스트
    • 필드 구분을 위하여 StringTokenizer을 사용.
    • 키(“Summary”)와 합성값(year_delta) 출력
  •  

ReceiptsMapper

  • ReceiptReducer
    • Reducer 클래스 인수 : 입력키,입력값,출력키,출력값
    • Reduce() 메서드 인수 : 입력키,입력값,실행되는 작업의 컨텍스트
    • 합성 값들에서 년도와 delta를 분리하고 delta 값을 Long으로 형 변환하여 최소값을 결정한다.
    • Text 타입의 min(year), FloatWritable 타입의 delta로 출력한다.
  •  

ReceiptsReducer

  • ReceiptsDriver
    • 명령행 인수 개수 확인: 입력 파일, 출력 디렉토리 
    • Job 객체 생성
    • 드라이버, 매퍼, 리듀서 클래스 설정
    • 작업의 출력 키와 값의 타입을 Text와 FloatWritable로 정의 하고, 매퍼와 리듀서가 같은 출력 값의 타입을 사용하지 않으므로 매퍼의 출력 타입 기술
  •  

ReceiptsDriver

  • build.sh
    • HADOOP_HOME 경로설정
    • CLASSPATH 설정
    • Javac 컴파일
    • Jar 컴파일
  •  

build.sh

  • sh build.sh
    • Sudo sh build.sh를 사용
    • 암호 입력
    • Mainfest를 성공적으로 추가
    • 이후 ls를 통한 확인
  •  

sh build.sh

  • 입력파일 복사
    • Hadoop fs –mkdir /Receipts 사용하여 디렉터리를 생성, but 위와같이 오류가 떴다. 그 이유는 safemode가 되있기 때문에 hdfs dfsadmin –safemode leave 명령어를 통해 save mode를 종료 하였다.
    • Input파일까지 생성하고 정상적으로 –ls를 이용하여 확인하였다.
  •  

입력파일 복사

  • Receipts.jar 하둡실행
    • hadoop jar Receipts.jar Receipts.ReceiptsDriver/Receipts/input/receipts.txt /Receipts/output 명령어를 사용하여 이와 같이 정상적으로 실행한다.
  •  

하둡 실행

3. WORD COUNT

  • WordCountMapper
    • HDFS에서 데이터를 읽고 처리
    • InputFormat, InputSplit, RecordReader, InputKey, InputValue 객체 들을 사용
  •  

WordCountMapper

  • WordCountReducer
    • 리듀스 처리 후에 결과를 HDFS에 저장
    • OutputFormat, RecordWriter, OutputKey, OutputValue, OutputCommitter 객체들을 사용
  •  

WordCountReducer

  • WordCountJob
    • Job 과 Configuration 객체를 생성
    • set() 메서드를 사용하여 Configuration 객체의 각 요소들을 정의
    • Try catch문 사용.
  •  

WordCountJob

  • Build.sh
    • HADOOP_HOME 환경변수 설정
    • CLASSPATH 환경변수 설정
    • Javac 컴파일
    • Jar 컴파일
  •  

Build.sh

  • 빌드
    • sh build.sh하여 빌드
  •  

sh build.sh

  • 데이터 복사 및 실행결과
    • Hadoop fs –mkdir을 이용하여 디렉터리를 정상적으로 생성
    • 실행 및 실행결과 확인
  •  

hadoop fs -mkdir
실행결과 1
실행결과 2

 

728x90
저작자표시 비영리 변경금지 (새창열림)

'빅데이터' 카테고리의 다른 글

빅데이터 - 6. SFPD 응용  (0) 2022.10.09
빅데이터 - 5. 스파크 데이터프레임 연산  (0) 2022.09.18
빅데이터 - 4. 스파크 설치 및 테스트  (0) 2022.08.30
빅데이터 - 2. 하둡 설치  (0) 2022.08.24
빅데이터 - 1. 클러스터 서버 환경 구축  (2) 2022.08.24
'빅데이터' 카테고리의 다른 글
  • 빅데이터 - 5. 스파크 데이터프레임 연산
  • 빅데이터 - 4. 스파크 설치 및 테스트
  • 빅데이터 - 2. 하둡 설치
  • 빅데이터 - 1. 클러스터 서버 환경 구축
IT의 큰손
IT의 큰손
IT계의 큰손이 되고 싶은 개린이의 Log 일지
Developer Story HouseIT계의 큰손이 되고 싶은 개린이의 Log 일지
IT의 큰손
Developer Story House
IT의 큰손
전체
오늘
어제
  • 분류 전체보기 (457)
    • 정보처리기사 필기 (18)
    • 정보처리기사 실기 (12)
    • 정보처리기사 통합 QUIZ (12)
    • 빅데이터 (11)
    • 안드로이드 (11)
    • 웹페이지 (108)
    • 자바 (49)
    • SQLD (3)
    • 백준 알고리즘 (76)
    • 데이터베이스 (41)
    • 깃허브 (2)
    • Library (14)
    • Server (31)
    • 크롤링&스크래핑 (3)
    • Spring (23)
    • Vue.js (13)
    • React (27)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

  • Developer Stroy House

인기 글

태그

  • 앱개발자
  • React
  • 백엔드
  • java
  • JavaScript
  • 정보처리기사
  • html
  • ajax
  • 개발자
  • DBA
  • DB
  • 웹페이지
  • 코딩테스트
  • 프론트엔드
  • 데이터베이스
  • 알고리즘
  • css
  • 자바
  • 웹개발자
  • 백준
  • IT자격증
  • IT개발자
  • 웹개발
  • jsp
  • 정보보안전문가
  • 개발블로그
  • it
  • IT자격증공부
  • 정보처리기사필기
  • jquery

최근 댓글

최근 글

Designed By hELLO
IT의 큰손
빅데이터 - 3. 맵리듀스 응용 구축
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.