프로젝트 시작 동기
- 원래 음악 취향은 김광석을 비롯 90년대~ 00년대 발라드인데 최근 뉴진스라는 그룹명이 계속 보였다. 우연히 노래를 들어보니 왜 인기가 많은지 이해되면서 뉴진스의 노래를 계속 듣게되었고, 이제는 팬이다. 마침 Streaming 관련 프로젝트를 한 번 경험해보려고 트위터 api 를 살펴보고 있었는데 BTS 에 대한 건 많이들 해서 뉴진스로 방향 살짝 틀어서 시작했다.
프로젝트 소개
- 트위터API 를 통해서 실시간(streaming) 트윗을 카프카로 저장 및 처리하여 Spark streaming을 통해서 카프카에 있는 스트리밍 데이터를 읽고 정제한 다음 DW에 저장. DW에 있는 테이블을 읽어 SparkML로 트윗 메시지의 내용을 각나라 언어별로 군집화.
시작 전 준비사항
- 카프카 클러스터 구성
- 2022.12.29 - [data processing/spark] - Zeppelin 환경구성
- 2022.12.29 - [data processing/spark] - Zeppelin(spark) 인터프리터 설정
- 2022.12.28 - [data processing/hadoop] - Hadoop 클러스터 환경 구성
- 2022.12.28 - [data processing/spark] - SPARK 서버 환경 구성
SPARK 서버 환경 구성
계정관련 설정 1. user 계정 생성 $sudo useradd dahy -m -s /bin/bash 2. 계정 암호 설정 $sudo passwd dahy 3. 계정 삭제(option) $sudo userdel -r dahy 4. sudo 권한 설정 $sudo visudo dahy ALL =(ALL) NOPASSWD:ALL 5. 계정 전환 $sudo su
nothing-error.pysyntax.com
프로젝트 환경
GCP 4개의 인스턴스를 생성하여 Hadoop 클러스터 구축 후 진행함(master 1대, worker 3대)
운영체제 : ubuntu 20.04
ram : 8g
storage : 50g
프로젝트 과정
1. 트윗 데이터 수집
2. 트윗데이터 정제
3. 트윗 데이터 DW 에 적재
4. 테이블에 있는 데이터 정제
5. 모델링
6. 군집화 확인
필요 스택
- Spark, Hadoop, Kafka
'Project' 카테고리의 다른 글
블로그 자동화 프로젝트 #1: 워드프레스와 라즈베리파이로 시작하기 (0) | 2023.06.03 |
---|---|
[프로젝트] 뉴진스 트윗 클러스터링 #2 프로그래밍 (0) | 2023.01.25 |
[프로젝트] 고인물의 스팀 게임추천 #4 모델링 (0) | 2023.01.25 |
[프로젝트] 고인물의 스팀 게임추천 #3 데이터탐색 (0) | 2023.01.17 |
[프로젝트] 고인물의 스팀 게임추천 #2 데이터수집 (0) | 2023.01.12 |
댓글