개인 공간/project
[분산 시스템] : Google {Colab, Drive}를 이용한 분산처리
샰롯
2022. 11. 29. 11:26
Project
Google {Colab, Drive}를 이용한 분산처리
Project : 인기게임 순위 1~1000위에 해당하는 리뷰 수집 및 리뷰를 통한 게임사 및 유저에 의미있는 키워드 추출 프로젝트
[데이터 수집 과정에서 발생한 큰 두가지 문제]
1. 실시간으로 변하는 게임 순위에 따른 유동적인 데이터 수집 방법?
- 실시간으로 변하는 게임 순위 정보 각 Pc에 분산하여 처리
2. 프로젝트 기간 내 데이터를 수집 및 업데이트 방법?
- 여러 Pc를 사용하여 각 순위에 해당하는 리뷰 크롤링 및 오류 발생 시 지금까지 수집된 데이터 기간부터 이어서 수집
[여러 Pc를 사용] : 문제 해결 방안으로 중복하여 등장한 방법
하나의 Pc에서 여러 Pc를 컨트롤 하며 데이터를 수집할 방법을 고민하여 본 내용과 같은 아이디어를 구현 하고자 한다.
결론:
분산 시스템(하둡) 및 클라우드 컴퓨팅(AWS)의 사용 이유와 그에 대한 중요성을 확인했다.
Google {Colab, Drive}로 구축한 분산처리 방법의 가장큰 문제는
정보 전달에 딜레이가 심해 다른 방법을 필요로 함
이를 위해 AWS를 통한 서버 간단한 정보 전달 및 깃헙을 이용해 데이터 구축을 하여
해결하고자 하는 문제를 가능하도록 구현하였다.
AWS를 활용하여 컴퓨팅 파워는 분산하였으나
하둡사용에는 시간여유가없어 깃헙을 통해 데이터를 올리고 내리는 과정을 통해 해결하였다.
Google {Colab, Drive} 분산처리 아키텍처
환경 설정
- Main으로 사용할 Google Drive에 폴더 생성 후 편집권한 설정
- Sub로 사용할 Google Drive에 공유받은 폴더 바로가기 생성
공유 폴더 테스트
- [Main 계정] 테스트용 문서 생성
- [Sub 계정] 공유된 문서 확인
Google Colab에서 Google Drive 공유 폴더 접근
- Google Colab에서 Google Drive 연결
- drive path 설정
분산처리 테스트(단방향 자료 공유)
- txt파일 쓰기 및 일기
- [Main 계정] "hi"를 입력한 command.txt 파일 생성
- [Sub 계정] command.txt 파일을 읽어 입력된 "hi" 출력
- 내용 수정 및 변동 유무 확인
- [Main 계정] "hi"를 입력한 command.txt 파일 생성
- [Sub 계정] command.txt 내용 변동 유무 확인
- [Main 계정] "bye"를 입력한 command.txt 파일 생성(내용 수정)
- [Sub 계정] command.txt가 기존과 다름을 확인
기존값과 변동된 값 출력
분산처리 테스트(양방향 자료 공유)
- 내용 주고 받기
- [Main 계정] "0"를 입력한 command.txt 파일 생성
- [Sub 계정] command.txt가 기존과 다름을 확인
"1"를 입력한 command.txt 파일 생성
받은 내용 출력
- [Main 계정] command.txt가 기존과 다름을 확인
"2"를 입력한 command.txt 파일 생성
받은 내용 출력
...
- [Main 계정] command.txt가 기존과 다름을 확인
"8"를 입력한 command.txt 파일 생성
받은 내용 출력
- [Sub 계정] command.txt가 기존과 다름을 확인
"9"를 입력한 command.txt 파일 생성