- 기간 : 6/26(월) ~ 6/30(금)
- 목표 : 이전에 진행했던 대시보드 프로젝트의 데이터 파이프라인을 구축한 고도화 프로젝트 진행
- 주제 : End-to-end 데이터 파이프라인 구성하기
Spotify, Reddit API를 활용해서 얻은 대량의 데이터를 Amazon S3에 저장하고, 이후에 Snowflake에 데이터를 로드하였습니다.
또한 DBT를 사용하여 데이터를 가공하고 이 과정을 Airflow 워크플로우로 관리하였습니다. 이렇게 구축한 환경을 활용하여 K-POP 인기 탐색 분석을 Tableau로 대시보드를 제작하여 데이터 시각화를 했습니다.
박세정 |
박재연 |
신유창 |
오유정 |
이소연 |
Spotify API를 사용하여 K-pop 아티스트, 앨범, 트랙 데이터를 스크래핑하여 S3에 저장하고, 이후 Snowflake에 적재합니다.
✔️ Spotify chart ETL
Spotify의 주간 및 연간 차트 데이터를 웹 스크래핑하여 전처리한 후 S3에 저장하고, Snowflake에 로드하는 작업을 자동화했습니다.
Reddit에서 포스트와 댓글 데이터를 수집하여 CSV 파일로 저장하고, S3에 업로드한 후 Snowflake에 로드하는 작업을 Airflow로 자동화했습니다.
✔️ delete log DAG
![스크린샷 2023-07-06 오전 2 15 58](https://private-user-images.githubusercontent.com/79040336/251228435-7fedc8b5-4588-4de2-a6f4-cd99da9384eb.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIxOTA5OTcsIm5iZiI6MTcyMjE5MDY5NywicGF0aCI6Ii83OTA0MDMzNi8yNTEyMjg0MzUtN2ZlZGM4YjUtNDU4OC00ZGUyLWE2ZjQtY2Q5OWRhOTM4NGViLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MjglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzI4VDE4MTgxN1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTkyZWVjMjQwNzlhZWY1OTVkMjcwMzM1ZGZmNmRlNmMwMmNlMDQzNTc3ZjQ3MDhjNDY0Y2Q2NjAyYjExNTVhZDImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.r2Ini6tFH5fVP2L2cJu_PND-QGZbeCDi99FsDSOcly4)
Airflow 운영 기간 동안 누적된 Tasks log 용량 관리를 위해 매일 오전 2시에 30일 이상된 로그 파일을 자동으로 삭제하는 작업을 수행합니다.
✔️ dbt run DAG
![스크린샷 2023-07-06 오전 2 16 16](https://private-user-images.githubusercontent.com/79040336/251228495-de74b418-b2dd-41d5-b608-a22f2eb3b393.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIxOTA5OTcsIm5iZiI6MTcyMjE5MDY5NywicGF0aCI6Ii83OTA0MDMzNi8yNTEyMjg0OTUtZGU3NGI0MTgtYjJkZC00MWQ1LWI2MDgtYTIyZjJlYjNiMzkzLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MjglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzI4VDE4MTgxN1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWJkZjhkMDdkYTU0OWNiOGIwM2Q4MmE4MmZhMzdlNmZhMWEwYWVlODY5YmExYjdlNmVmM2JkMjY3M2Y1NjdlY2MmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.pTC7UcjskYroDrJEZag2eqt8rnKOSf0lKrW0P4NO3ZU)
DBT(Data Build Tool)를 사용하여 데이터 변환 작업을 실행합니다.
- 1년간 글로벌 스트리밍 현황을 분석합니다.
- K-POP 트랙과 아티스트에 대한 국가별 선호도 및 오디오 특성을 분석합니다.
- K-POP 그룹별 차트 순위와 추이를 보여주고, 오디오 특성을 비교합니다.
- Reddit 사용자들의 K-POP 관련 게시물과 댓글의 반응을 분석합니다.
Reddit K-pop 관련 게시물 데이터 WordCloud