写点什么

Pinterest 使用 MemSQL 和 Spark Streaming 进行实时数据分析

  • 2015-04-19
  • 本文字数:825 字

    阅读完需:约 3 分钟

Pinterest 是一家提供可视化书签工具的公司,这种工具可以帮助人们发现并保存有创意的想法,目前这家公司正使用实时数据分析来达到以数据驱动决策的目的。实验中使用了 MemSQL Spark 这样的技术,用以分析来自全球的用户实时行为信息。

通过 MemSQL 和 Spark,Pinterest 创建了一条数据管道。这条管道通过 Apache Kafka 使数据流入 MemSQL,并且通过 Spark Streaming API 向 Spark 输入数据(译者注:数据流向是 Kafka -> Spark -> MemSQL ,见图 1)。这个方案对了解全球用户如何使用 Pins(译者注:即可视化书签)提供了实时性的洞察。这有助于 Pinterest 成为一个更好的推荐引擎,它可以显示相关的 Pins,人们会在不同的场景下来使用这种服务,比如为购物、去某个地方和烹饪食谱做个计划。

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

2015-04-19 05:594088

评论

发布
暂无评论
发现更多内容

C++多态的基本概念与原理刨析

CtrlX

c c++ 面向对象 代码 8月月更

IPv4向IPv6的过渡技术

穿过生命散发芬芳

ipv6 8月月更

详解CAN总线:什么是CAN总线?

不脱发的程序猿

嵌入式 汽车电子 CAN总线协议

6.18秒杀系统架构设计

joak

RocketMQ高可用设计之同步刷盘

急需上岸的小谢

8月月更

计算机网络(三、数据链路层)

计算机网络 8月月更

开源一夏 | 实战Node.js之GET/POST请求在Web 应用架构在客户端的使用

恒山其若陋兮

开源 8月月更

开源一夏|三步注册gitee

坚果

开源 8月月更

聚焦2022全球边缘计算大会·深圳站,揭秘火山引擎新一代边缘云解决方案

火山引擎边缘云

分布式 CDN 边缘计算 渲染 边缘云

消费大众网民的审丑心理,如何拯救扭曲化的自媒体行业

石头IT视角

SAFe Day 2022 中国规模化敏捷大会即将开启

Scrum中文网

敏捷 safe 规模化敏捷 大规模敏捷 SAFeDay

Spring进阶(一):SpringMVC常用注解标签详解

No Silver Bullet

springmvc 注解 8月月更

文件管理-Linux系统文件属性

Albert Edison

Linux centos 运维 文件管理 8月月更

在线XML转TSV工具

入门小站

工具

加密市场由阴转晴,Zebec或成2022后半段黑马

鳄鱼视界

MySQL数据库之数据查询

乌龟哥哥

8月月更

flstudio21水果软件更新内容V21版本

茶色酒

FL Studio

详解CAN总线:常用CAN连接器的使用方法

不脱发的程序猿

汽车电子 嵌入式开发 CAN连接器

智能化运维场景分析

阿泽🧸

智能运维 8月月更

spark实战之:分析维基百科网站统计数据(java版)

程序员欣宸

Java spark 8月月更

架构训练营毕业总结

joak

SpringMvc如何同时支持Jsp和Json接口?

xiaoxi666

开源一夏 | 阿里云ECS之Linux 系统工作命令

六月的雨在InfoQ

Linux 开源 8月月更 系统命令

头脑风暴:最长连续递增序列

HelloWorld杰少

算法 LeetCode 数据结构, 8月月更

在线诺基亚短信图片生成器工具

入门小站

工具

开源一夏 | 阿里云ECS之Linux 文件管理命令

六月的雨在InfoQ

Linux 开源 8月月更 文件管理命令 磁盘命令

《Dubbo3.0.8源码解析》15-Dubbo的三大中心之元数据中心源码解析

宋小生

dubbo Dubbo3

LabVIEW LINX Toolkit控制Arduino设备(拓展篇—1)

不脱发的程序猿

嵌入式 单片机 LabVIEW Arduino LINX Toolkit

leetcode 304. Range Sum Query 2D - Immutable 二维区域和检索 - 矩阵不可变(中等)

okokabcd

LeetCode 数据结构与算法

三个线程交替打印ABC100次问题思考

越长大越悲伤

面试 线程 后端 JUC

flstudio21版本有什么新功能?

茶色酒

FL Studio

Pinterest使用MemSQL和Spark Streaming进行实时数据分析_大数据_Srini Penchikala_InfoQ精选文章