NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

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

公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

2015-04-19 05:593973

评论

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

MotionLayout_ 打开动画新世界大门 (part II),android插件化原理

android 程序员 移动开发

直呼内行!阿里大佬离职带出内网专属“高并发系统设计”学习笔记

编程 程序员 消息队列 高并发系统

MVVM系列之二:LiveData,android程序开发教程

android 程序员 移动开发

OOM问题原理解析(二),移动端开发技术

android 程序员 移动开发

QQ音乐Android编译提速之路,腾讯T2大牛亲自讲解

android 程序员 移动开发

React Native Android混合开发实战教程,Android入门你值得拥有

android 程序员 移动开发

《黑客之道》干了一夜的kali Linux之Metasploit渗透测试框架的基本使用

学神来啦

Linux 运维 黑客 渗透 Metasploit

OkHttp 断点上传的“基操”(1),完美讲解内存缓存LruCache实现原理

android 程序员 移动开发

Okhttp的缓存机制,原理讲解

android 程序员 移动开发

毕业总结和毕业设计

cherrycheek

React Native Android 源码框架浅析(主流程及 Java 与 JS 双边通信)

android 程序员 移动开发

「元宇宙」赛道,除了脸书,微软也来了

WorkPlus

Native开发工具之CPU 和架构(三),学习Android开发的步骤,

android 程序员 移动开发

实验室信息系统的主要功能及作用

低代码小观

企业管理 管理系统 LIMS实验室信息管理系统 信息管理系统 实验室

网易云信亮相 LiveVideoStackCon 2021,解构自研大规模传输网 WE-CAN

网易云信

通信云 传输协议

OkHttp3源码详解之拦截器(四),计算机应届毕业生面试题

android 程序员 移动开发

OkHttp流程分析,音视频编解码技术

android 程序员 移动开发

React Native Android混合开发实战教程(1),flutter瀑布流

android 程序员 移动开发

一站式智能化是采购数字化的大趋势

WorkPlus

【等保小知识】等保与关保两者之间有啥区别?

行云管家

网络安全 等级保护 分保 关保

python3如何安装MySQLdb库

YUKI0506

Python3 mysqldb

OkHttp 断点上传的“基操”,算法题+JVM

android 程序员 移动开发

分享 | 一文了解 PG PITR 即时恢复

RadonDB

数据库 postgresql RadonDB

springmvc的定时任务

小鲍侃java

11月日更

Java线程安全ReentrantLock

FunTester

Java 性能测试 线程安全 测试开发 FunTester

React Native 与 嵌入Android原生与Activity页面互相跳转(1)

android 程序员 移动开发

MotionLayout_ 打开动画新世界大门 (part II)(1),kotlin框架

android 程序员 移动开发

MVVM系列之一:Lifecycle,面试竟然被这31道Android基础题难倒了

android 程序员 移动开发

OkHttp 3,安卓移动开发大作业

android 程序员 移动开发

OKio源码分析(1)six sy007 情感导师,android面试题2019

android 程序员 移动开发

具有中国特色的堡垒机到底有用吗?有什么用?

行云管家

网络安全 信息安全 数据安全 堡垒机

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