본문 바로가기
프로젝트

Kafka, Spark 를 활용한 실시간 데이터 처리 프로젝트 | LIM

by forestlim 2023. 7. 30.
728x90
반응형

예전부터 실시간 데이터 처리를 진행해보고 싶었는데 회사에서는 마땅한 기회가 없어서 이번에 한투 API와 업비트 API 를 이용하여 프로젝트를 진행했다. 이번 프로젝트의 목표는 여러 데이터 플랫폼 툴이 있는데 안 써본 것들이 많아서 이거저거 써보기 위해서 최대한 조합해본 것이다. 베스트라고 생각하지 않는다. 

 

 

일단 프로젝트 아키텍처는 다음과 같다. 

 

 

Prerequisite

1. GCP 계정 생성 -> 나의 경우 새로 계정을 만들어서 무료 credit 으로 진행
2. 한투API나 업비트 API 신청

https://securities.koreainvestment.com/main/customer/systemdown/install_non_activex_tobe.jsp?P_name=IPinsideLWS 

 

https://securities.koreainvestment.com/main/customer/systemdown/install_non_activex_tobe.jsp?P_name=IPinsideLWS

한국투자증권 --> 고객님의 소중한 정보 보호를 위해 보안프로그램 및 기타프로그램을 설치합니다. 설치가 정상적으로 완료되면 자동으로 로그인 화면으로 이동합니다. 전체설치 시, 화면이 멈

securities.koreainvestment.com

https://docs.upbit.com/

 

업비트 개발자 센터

 

docs.upbit.com

 

Project 개요

1. 카프카 클러스터를 통해 실시간 데이터를 받는다.

2. Apache Druid 를 연동해 실시간 데이터를 일차로 저장하고 이를 superset 과 연동해 실시간으로 차트를 생성한다.

3. Spark Streaming 을 통해 Kafk를 통해 실시간으로 들어오는 데이터를 필터링 해 알람 기능을 구현

(토스의 알림처럼, 주식 가격이 5% 상승, 10% 상승 이런 알림을 생성하고자 함)

4. Kafka에서 BigQuery로 데이터를 저장해 추후 ML분석으로는 SparkML을 사용하고자 함

 

구축과정

1. Hadoop 클러스터 생성. 아래 강의를 들으면서 구축

https://inf.run/mPiQ

 

빅데이터 하둡 (Hadoop 3.2.1) 직접 설치하기 - 인프런 | 강의

하둡과 빅데이터를 배우고자 하는 수강생들은 이 과정을 통해 빅데이터 세계를 경험하는 놀라운 발전을 기념할 것입니다!, 바야흐로 빅데이터 시대! 👨‍💻하둡(Hadoop)으로 전문가가 되어보세

www.inflearn.com

 

2. Spark 클러스터 생성

Spark는 Hadoop yarn 위에 생성. 
"Spark on Yarn" 형태로 띄웠기 때문에 ResourceManager 가 떠있는 노드에서 Spark 를 설치하면 된다.

https://spidyweb.tistory.com/300

 

[BigData] 완전 분산 하둡 클러스터(hadoop cluster)(4개 노드) 에 "Spark"(Spark on Yarn cluster) 설치 및 실습

저번 포스트까지는 하둡 클러스터를 구성해보았습니다. 이번 포스트에는 구성된 하둡 클러스터에 Spark를 설치해보겠습니다. 본 포스팅은 standalone모드 4개를 구축하여 spark cluster를 만드는 것이

spidyweb.tistory.com

이 분 블로그에서 도움을 많이 받았다. 

 

3. Apache Druid With Kafka

공식 문서를 참고해서 진행했다. 

https://druid.apache.org/docs/latest/tutorials/tutorial-kafka.html

 

Tutorial: Load streaming data from Apache Kafka · Apache Druid

<!--

druid.apache.org

 

4. Superset With Druid

superset의 경우 이 분 블로그를 참고해서 druid 와 연동 후 실시간 차트를 그릴 수 있었다. 

https://passwd.tistory.com/entry/Superset-%EC%84%A4%EC%B9%98-%EB%B0%8F-%EC%8B%A4%ED%96%89

 

[Superset] 설치 및 실행

개요 2023.02.20 - Apache Superset 이란?에 대해서 정말 간단히 superset에 대해 소개했는데, 이 글에서는 공식 문서를 참고하여 설치 방법을 정리해두려고 한다. 설치는 컨테이너 환경이 아니라 호스트

passwd.tistory.com

 

5. DataFlow를 활용해 BigQuery에 적재

DataFlow의 경우 Kafka to BigQuery 기능을 이용해서 쉽게 구축할 수 있었다. 

 

 

틈틈이 시간나는대로 하나하나씩 진행했던 내용을 정리해두어야겠다.

728x90
반응형

댓글