본문 바로가기
SingleStoreDB/사례연구

[사례 연구, Pinterest] Spark로 실시간 사용자 참여를 측정하는 방법

by 에이플랫폼 [Team SingleStore Korea] 2020. 2. 18.

Spark 스테이지 설정

MapReduce를 대체하기 위해 Spark가 본 궤도에 오르자, 기업은 뛰어난 분산 데이터 처리 능력을 활용하기 위해 오픈 소스 프레임워크로 몰려들고 있습니다.

트래픽이 많은 웹 사이트의 인프라와 데이터 파이프라인을 관리하는 IT 리더는, 특히, 실시간 데이터를 즉시 구조화하여 이벤트 데이터를 안정적으로 캡처하고, 분석가가 즉시 조회할 수 있는 형식으로 작성하는 데 이상적인 Spark Streaming을 운영하고 있습니다.

세계 최초의 비주얼 북마크 도구인 Pinterest는 Spark를 이용하는 혁신적인 기업 중 하나입니다. Pinterest는 SingleStore의 인 메모리 데이터베이스와 Spark Streaming이 잘 들어 맞는 것을 발견했으며, 이러한 도구를 사용하여 가치가 높은 사용자 참여 데이터에서 패턴을 찾고 있습니다.

Pinterest의 Spark Streaming 설정

작동 방식은 다음과 같습니다.

1) Pinterest는 핀이나 리핀과 같은 이벤트 데이터를 Apache Kafka로 푸시합니다.

2) Spark Streaming은 Apache Kafka에서 이벤트 데이터를 수집한 다음, 이벤트 유형별로 필터링하고 각 이벤트를 전체 핀 및 지리적 위치 데이터로 보강합니다.

3) 그런 다음 SingleStore Spark Connector를 사용하여 각 이벤트 유형을 별도의 테이블로 기록합니다. 또한, SingleStore는 레코드 중복을 제거합니다 (Kafka의 "at least once" 시멘틱은 내결함성을 보장하지만 고유성은 보장하지 않습니다).

4) 데이터가 스트리밍 됨에 따라 Pinterest는 SingleStore에서 쿼리를 실행하여 참여 메트릭을 생성하고 핀, 리핀, 댓글, 로그인과 같은 다양한 이벤트 데이터를 보고할 수 있습니다.

데이터 시각화

우리는 핀의 위치를 ​​보여주기 위해 Pinterest로 데모를 만들었습니다. 이미지가 다시 고정되면 지구상의 원이 확장되어 위치 리핀 농도(concentration)를 시각적으로 표시합니다.

이 데모는 Spark를 활용하여 도착 시각과 데이터베이스에 도달 한 시각 사이의 지리적 위치 정보로 스트리밍 데이터를 보강합니다. SingleStore는 이미 처리되어 미래를 위해 재사용할 수 있는 데이터의 key/value 캐시 역할을 함으로써 이러한 보강 처리를 더합니다. 또한 보강 프로세스의 일부로 시스템에 들어가는 모든 리핀이 SingleStore에 대해 조회되고 전체 핀이 없으면 SingleStore에 저장됩니다. 스트림을 통해 들어오는 모든 핀은 이 조회를 피하기 위해 자동으로 저장됩니다.

실시간 사용자 참여 안내 (@memsql과 @apachespark) - 트윗하기

요점

이 인프라를 통해 Pinterest는 성장 트렌드를 파악하고 대응할 수 있습니다. 결과적으로 Pinterest와 파트너는 사용자 행동을 더 잘 이해하고, Pinner 커뮤니티에 더 많은 가치를 제공할 수 있습니다. 모든 SQL 기반이기 때문에 데이터에 대한 액세스가 더 광범위합니다. 엔지니어와 분석가는 익숙한 도구를 사용하여 쿼리를 실행하고 리핀과 같은 중요한 사용자 활동을 추적할 수 있습니다.

또한 이 Spark 이니셔티브는 Pinterest의 시작일뿐입니다. Spark 프레임워크가 발전하고 커뮤니티가 계속 성장함에 따라, Pinterest는 SingleStore와 Spark의 사용 사례를 확장할 것으로 기대합니다.

초기 결과

Pinterest는 AWS에서 실행되는 Spark Streaming과 SingleStore를 데이터 스택에 통합한 후, 관련 사용자 참여 데이터와 지표를 데이터 분석가와 주요 브랜드에 공유할 수 있는 기록을 보유하게 되었습니다.

SingleStore와 Spark를 통해 Pinterest는 반복 가능한 프로덕션 레디(production-ready) 스트리밍 방법을 찾았으며, 파이프 덤프에서 그래프로 실시간으로 이동할 수 있습니다.


SingleStore Spark 커넥터 가이드 얻기

79 페이지 분량의 가이드는 SingleStore Spark 커넥터를 사용하여 Spark 응용 프로그램을 설계, 구축, 배포하는 방법을 설명합니다. 내부에는 Apache Spark와 SingleStore 구현을 위한 시작과 성능 권장 사항을 확인할 수 있는 프로덕션 레디(production-ready) 코드 샘플이 있습니다.

여기에서 다운로드

​​

February 18, 2015

Neil Dahlke

 


 

출처: https://www.singlestore.com/blog/pinterest-apache-spark-use-case/

 

How Pinterest Measures Real-Time User Engagement with Spark

Learn how Pinterest measures real-time user engagement with Spark through data streaming and visualization with SingleStore.

www.singlestore.com

www.a-platform.biz | info@a-platform.biz