Pinterest使用MemSQL和Spark Streaming進行實時數據分析

mip33 9年前發布 | 13K 次閱讀 Pinterest

原文  http://www.infoq.com/cn/news/2015/04/pinterest-memsql-spark-streaming


Pinterest 是一家提供可視化書簽工具的公司,這種工具可以幫助人們發現并保存有創意的想法,目前這家公司正使用實時數據分析來達到以數據驅動決策的目的。 實驗 中使用了 MemSQLSpark 這樣的技術,用以分析來自全球的用戶實時行為信息。

通過MemSQL和Spark,Pinterest創建了一條數據管道。這條管道通過 Apache Kafka 使數據流入MemSQL,并且通過 Spark Streaming API向Spark輸入數據(譯者注:數據流向是Kafka -> Spark -> MemSQL ,見圖1)。這個方案對了解全球用戶如何使用Pins(譯者注:即可視化書簽)提供了實時性的洞察。這有助于Pinterest成為一個更好的推薦引擎, 它可以顯示相關的Pins,人們會在不同的場景下來使用這種服務,比如為購物、去某個地方和烹飪食譜做個計劃。

Pinterest使用MemSQL和Spark Streaming進行實時數據分析

Pin的行為數據(engagement data)先被送入到Kafka主題(Topic)中,接著它被Spark streaming作業消耗掉。作業中每個Pin會進行過濾,然后加上其地理位置和Pin的類別來充實其信息。接著再通過 MemSQL Spark 連接器 (MemSQL Spark Connector)將充實后的信息持久化到MemSQL數據庫中以提供查詢服務。MemSQL Spark 連接器提供了Spark讀寫MemSQL數據庫的工具,它使用MemSQL RDD(Resilient Distributed Dataset)從MemSQL讀取數據。

綜上所述,這個方案框架可以支持實時地收集、存儲和處理用戶行為數據。同時,它也可以幫助獲得下面這些能力:

  • 高性能事件日志:即使用一個叫Singer的代理來收集事件日志,然后把它們運送到集中的數據倉庫中。
  • 可靠的日志傳輸和存儲:即通過Apache kafka和一個叫 Secor 的持久化服務來可靠將這些事件寫入到長期數據存儲 Amazon S3 中。Secor在設計上克服了S3的弱最終一致性模型(weak eventual consistency model)的缺陷,沒有數據丟失而且支持水平擴展和可選的基于日期的數據分片。
  • 基于實時數據的快速查詢:即在實時事件到達時就對它們執行SQL查詢。

查看英文原文: Real-time Data Analytics at Pinterest using MemSQL and Spark Streaming

</div>

 本文由用戶 mip33 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!