개인 공간/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에 폴더 생성 후 편집권한 설정

Main 계정


  • Sub로 사용할 Google Drive에 공유받은 폴더 바로가기 생성

Sub 계정


공유 폴더 테스트
  • [Main 계정] 테스트용 문서 생성

Main 계정


  • [Sub 계정] 공유된 문서 확인

Sub 계정


Google Colab에서 Google Drive 공유 폴더 접근
  • Google Colab에서 Google Drive 연결

좌 : Main 계정 우 : Sub 계정


  • drive path 설정

좌 : Main 계정 우 : Sub 계정


분산처리 테스트(단방향 자료 공유)
  • txt파일 쓰기 및 일기
    - [Main 계정] "hi"를 입력한 command.txt 파일 생성
    - [Sub 계정] command.txt 파일을 읽어 입력된 "hi" 출력

좌 : Main 계정 우 : Sub 계정


  • 내용 수정 및 변동 유무 확인
    - [Main 계정] "hi"를 입력한 command.txt 파일 생성
    - [Sub 계정] command.txt 내용 변동 유무 확인
    - [Main 계정] "bye"를 입력한 command.txt 파일 생성(내용 수정)
    - [Sub 계정] command.txt가 기존과 다름을 확인
                         기존값과 변동된 값 출력

좌 : Main 계정 우 : Sub 계정

 


분산처리 테스트(양방향 자료 공유)
  • 내용 주고 받기
    - [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 파일 생성

좌 : Main 계정 우 : Sub 계정