Skip to main content
실시간 뉴스 데이터를 수집하고, 텍스트 임베딩 기반으로 유사 뉴스 추천 및 인사이트 분석이 가능한 플랫폼을 구축했습니다.
SSAFIT NEWS web page

Overview

FieldValue
Period2025.01 - 2025.05
DomainData Engineering
Repositorynews-data-project
Result삼성전자 1학기 프로젝트 우수상

My role

  • Kafka/Flink 기반 실시간 수집 및 정제 흐름 설계
  • Elasticsearch와 pgvector 기반 검색/추천 저장 구조 구성
  • Airflow/Spark 기반 일간 리포트 자동화
  • 데이터 파이프라인 설계, 스트리밍 처리, 검색/분석 저장소 구성, 워크플로우 운영 담당

Architecture

SSAFIT NEWS data pipeline
뉴스 데이터는 RSS producer에서 Kafka로 들어오고, Flink가 실시간 정제와 중복 필터링을 수행합니다. 저장 계층은 PostgreSQL(pgvector), Elasticsearch, HDFS를 함께 사용하고, Airflow와 Spark가 일간 리포트를 생성합니다.

Core stack

AreaStack
Collection and processingApache Kafka, Apache Flink, Apache Spark
StoragePostgreSQL, Elasticsearch, Apache Hadoop
Embedding and NLPOpenAI, KoNLPy
OrchestrationApache Airflow, Docker
MonitoringPrometheus, Kibana, Grafana

Key work

Real-time collection

한국경제, AI타임스, 전자신문 등 주요 IT 언론사 RSS 데이터를 수집하고 Kafka 토픽으로 전달했습니다.

Stream processing

Kafka에서 들어온 뉴스 본문을 Flink로 전처리하고, 중복 뉴스 필터링과 데이터 정합성 검증을 수행했습니다.

Search and recommendation

OpenAI Embedding API로 뉴스 본문을 벡터화하고 PostgreSQL(pgvector)과 Elasticsearch에 이중 저장했습니다. 이를 통해 실시간 검색과 유사 뉴스 추천을 지원했습니다.

Daily report

Spark 기반으로 일간 뉴스 키워드, 카테고리별 기사 분포, 트렌드 시각화를 생성하고 PDF 리포트로 아카이빙했습니다.

Monitoring

kibana

Kibana

Elasticsearch 색인 상태와 검색 데이터를 확인했습니다.
grafana

Grafana

파이프라인 상태와 운영 메트릭을 시각화했습니다.

Presentation

SSAFIT NEWS 발표 자료