728x90
1. 데이터 다운로드
- wget을 이용하여 사이트에 있는 receipts.txt 파일을 다운로드 한다.
- 정상적으로 다운로드를 완료한다.
2. RECEIPTS
- ReceiptsMapper
- 패키지 Receipts를 받아, import를 한다.
- Mapper 클래스 인수 : 입력키,입력값,출력키,출력값 타입을 구분
- Map() 메서드 인수 : 입력키, 입력값,실행되는 작업의 컨텍스트
- 필드 구분을 위하여 StringTokenizer을 사용.
- 키(“Summary”)와 합성값(year_delta) 출력
- ReceiptReducer
- Reducer 클래스 인수 : 입력키,입력값,출력키,출력값
- Reduce() 메서드 인수 : 입력키,입력값,실행되는 작업의 컨텍스트
- 합성 값들에서 년도와 delta를 분리하고 delta 값을 Long으로 형 변환하여 최소값을 결정한다.
- Text 타입의 min(year), FloatWritable 타입의 delta로 출력한다.
- ReceiptsDriver
- 명령행 인수 개수 확인: 입력 파일, 출력 디렉토리
- Job 객체 생성
- 드라이버, 매퍼, 리듀서 클래스 설정
- 작업의 출력 키와 값의 타입을 Text와 FloatWritable로 정의 하고, 매퍼와 리듀서가 같은 출력 값의 타입을 사용하지 않으므로 매퍼의 출력 타입 기술
- build.sh
- HADOOP_HOME 경로설정
- CLASSPATH 설정
- Javac 컴파일
- Jar 컴파일
- sh build.sh
- Sudo sh build.sh를 사용
- 암호 입력
- Mainfest를 성공적으로 추가
- 이후 ls를 통한 확인
- 입력파일 복사
- 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 객체 들을 사용
- WordCountReducer
- 리듀스 처리 후에 결과를 HDFS에 저장
- OutputFormat, RecordWriter, OutputKey, OutputValue, OutputCommitter 객체들을 사용
- WordCountJob
- Job 과 Configuration 객체를 생성
- set() 메서드를 사용하여 Configuration 객체의 각 요소들을 정의
- Try catch문 사용.
- Build.sh
- HADOOP_HOME 환경변수 설정
- CLASSPATH 환경변수 설정
- Javac 컴파일
- Jar 컴파일
- 빌드
- sh build.sh하여 빌드
- 데이터 복사 및 실행결과
- Hadoop fs –mkdir을 이용하여 디렉터리를 정상적으로 생성
- 실행 및 실행결과 확인
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 |