[논문 리뷰] Real-time Text Analytics Pipeline Using Open-source Big Data Tools
이 논문은 실시간 텍스트 분석 파이프라인을 제안하며, 데이터 수신을 위해 Apache Kafka, 메모리 기반 스트림 처리를 위해 Apache Spark, 지속적 저장을 위해 Apache Cassandra, 시각화를 위해 D3.js를 사용한 오픈소스 빅데이터 툴을 활용한다. 3台의 가상 머신에서 466,700개의 트윗을 10.7분 내에 처리하여 0.7분(41초) 이내의 지연 시간을 달성하여 확장 가능한 처리 능력을 갖춘 거의 실시간 성능을 입증한다.
Real-time text processing systems are required in many domains to quickly identify patterns, trends, sentiments, and insights. Nowadays, social networks, e-commerce stores, blogs, scientific experiments, and server logs are main sources generating huge text data. However, to process huge text data in real time requires building a data processing pipeline. The main challenge in building such pipeline is to minimize latency to process high-throughput data. In this paper, we explain and evaluate our proposed real-time text processing pipeline using open-source big data tools which minimize the latency to process data streams. Our proposed data processing pipeline is based on Apache Kafka for data ingestion, Apache Spark for in-memory data processing, Apache Cassandra for storing processed results, and D3 JavaScript library for visualization. We evaluate the effectiveness of the proposed pipeline under varying deployment scenarios to perform sentiment analysis using Twitter dataset. Our experimental evaluations show less than a minute latency to process $466,700$ Tweets in $10.7$ minutes when three virtual machines allocated to the proposed pipeline.
연구 동기 및 목표
- 고속도 데이터 스트림을 위한 저지연, 확장 가능한 실시간 텍스트 분석 파이프라인을 설계하고 평가하는 것.
- 소셜 미디어와 같은 소스로부터 대규모 텍스트 데이터를 처리하는 빅데이터 시스템에서 처리 지연 시간을 최소화하는 과제를 해결하는 것.
- 오픈소스 도구를 활용해 감성 분석를 위한 완전한 엔드 투 엔드 실시간 처리 파이프라인을 구축하는 데서의 효과성을 입증하는 것.
- 클러스터 구성과 자원 할당을 변화시킬 때 시스템 성능을 평가하는 것.
제안 방법
- Twitter의 스트리밍 API로부터 고처리량, 저지연 데이터 수신을 위해 분산 메시징 시스템인 Apache Kafka를 사용하였다.
- 메모리 기반 처리 엔진을 갖춘 Apache Spark Streaming을 활용하여 들어오는 트윗 스트림에 대한 실시간 감성 분류를 수행하였다.
- 제3자 커넥터를 통해 Apache Cassandra를 통합하여 처리된 감성 결과를 장기 분석을 위해 지속적으로 저장하였다.
- D3.js 라이브러리를 사용한 Node.js 기반의 시각화 컴포넌트를 개발하여 실시간 감성 추세를 표시하였다.
- OpenNebula를 사용한 프라이빗 클라우드 환경에 파이프라인을 구축하여, 1~3대의 가상 머신으로 확장하여 성능을 평가하였다.
- 10분 간격으로 트위터 데이터 수신을 시뮬레이션하기 위해 Kafka 프로듀서를 사용하여 일관된 워크로드를 생성하였다.
실험 결과
연구 질문
- RQ1분산 빅데이터 파이프라인에서 클러스터 크기가 증가함에 따라 실시간 텍스트 처리의 지연 시간은 어떻게 변화하는가?
- RQ2일반 하드웨어에서 오픈소스 도구로 구성된 감성 분석 파이프라인의 처리량과 종단 간 지연 시간은 얼마인가?
- RQ3메모리 기반 처리를 갖춘 Apache Spark Streaming이 대규모 트윗 스트림 분석에서 거의 실시간 성능을 달성할 수 있는가?
- RQ4자원 할당(가상 머신 수)은 파이프라인의 스피드업과 확장성에 어떤 영향을 미치는가?
주요 결과
- 3대의 가상 머신에 배포된 파이프라인은 466,700개의 트윗을 10.7분 내에 처리하여 지연 시간이 단 0.7분(41초)에 그쳤다.
- 처리 시간은 실험 1의 15.0분에서 실험 3의 10.7분으로 감소하여 단일 VM 베이스라인 대비 140%의 스피드업을 기록하였다.
- 클러스터 크기가 증가함에 따라 시스템 처리 능력이 증가하여 실험 2에서는 468,600개, 실험 3에서는 466,700개의 트윗을 처리하여 확장성을 입증하였다.
- 3대의 VM으로 구성된 분산 배포는 종단 간 지연 시간을 1분 미만으로 줄여 거의 실시간 처리 능력을 갖춘 것으로 나타났다.
- 자원을 추가할수록 성능 향상이 일관되게 관찰되어 파이프라인 아키텍처의 확장성은 확인되었다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.