프로젝트 계획
'서울시 상권 대시보드' 프로젝트를 진행하면서 아쉬웠던 점이 자동화를 구현하지 못했던 것이다. 또한 지금까지 API를 사용해서 프로젝트를 진행해 본 적이 없었다. 그래서 이번 개인 프로젝트로는 넥슨 Open API 중 FC Online API를 사용하여 데이터 자동 적재 및 대시보드 제작을 진행해보려고 한다.
주제
- FC Online 공식 경기 매치 상세 기록 분석 대시보드
목적 및 데이터 수집
목적
- 공식 경기(랭크전)의 주요 승리 / 패배 요인 파악 (패스, 슈팅, 골, 드리블, 카드 유무 등)
- 공식 경기(랭크전)의 슛, 골, 패스, 수비 등 매치 정보를 시각적으로 확인
- 데이터 적재 자동화를 통해 실시간 정보 확인
데이터 수집
- 넥슨 Open API의 FC Online API : 모든 매치 기록 조회, 매치 상세 기록 조회
- 애플리케이션 등록 후 제공받은 Key 사용
활용 기술 및 프레임워크
- Data Warehouse : Snowflake
- Cloud Storage : Amazon S3
- Visualization : Preset (Superset)
- Scraping / Preprocessing : requests, pandas
- Automation : Amazon EC2, Crontab
ERD - DBdiagram
각 테이블은 matchId에 대한 정보를 갖고 있다. 그래서 모든 테이블을 하나의 테이블로 제작할 수도 있지만, 그렇기엔 컬럼이 너무 많아질 것 같아 종류별로 4개로 분류하여 ERD를 작성하였다.
진행 프로세스
Amazon EC2 서버의 Crontab을 사용하여 일정 시간마다 API의 데이터를 S3에 csv 형태로 저장한다. 이후 snowflake에서 Task와 Stream을 사용하여 S3에 새로운 데이터가 업로드될 때, 자동으로 데이터 로드를 진행하도록 설정한다.
'프로젝트 단위 공부 > [개인 프로젝트] FC Online 공식 경기 분석' 카테고리의 다른 글
[개인 프로젝트] FC Online 공식 경기 분석 (6) - EC2 / crontab 자동화 1 (0) | 2024.06.01 |
---|---|
[개인 프로젝트] FC Online 공식 경기 분석 (5) - Snowflake analytics 테이블 생성 (0) | 2024.05.30 |
[개인 프로젝트] FC Online 공식 경기 분석 (4) - Snowflake 기본 설정 및 COPY (0) | 2024.05.29 |
[개인 프로젝트] FC Online 공식 경기 분석 (3) - 인프라 구성(S3, Snowflake, Preset) (0) | 2024.05.29 |
[개인 프로젝트] FC Online 공식 경기 분석 (2) - S3 버킷 생성 및 스크래핑 코드 작성 (0) | 2024.05.28 |