【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

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:593971

评论

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

突破:GGX(Golden Gate)发布悉尼测试网,跨链基础设施迈出重要一步

股市老人

从十万行代码定位undefined is not an object (evaluating 't.length')

汽车之家客户端前端团队

vue项目nginx服务器部署

百度搜索:蓝易云

vue.js Linux 运维 Web 云服务器

PyTorch: 池化-线性-激活函数层

timerring

PyTorch

2023-07-14:讲一讲Kafka与RocketMQ中存储设计的异同?

福大大架构师每日一题

福大大架构师每日一题

以 AI 变革组织运营与管理,2023 Kyligence 用户大会盛大举行

Kyligence

数据分析 数智化

Linux系统iptables与Firewalld防火墙区别?

百度搜索:蓝易云

云计算 Linux 运维 Firewalld iptables

Nautilus Chain 更换全新测试网,主网即将在不久上线

鳄鱼视界

Docker学习路线6:使用第三方镜像

小万哥

Docker 容器 运维 后端 开发

Linux系统安装redis教程。

百度搜索:蓝易云

redis 云计算 Linux 运维 云服务器

学科知识图谱学习平台项目 :技术栈Java、Neo4j、MySQL等超详细教学

汀丶人工智能

人工智能 自然语言处理 深度学习 neo4j 知识图谱

小巧玲珑的AVIF,你的网页图片换新装!

汽车之家客户端前端团队

深入了解C++优先队列

二哈侠

Nautilus Chain 更换全新测试网,主网即将在不久上线

股市老人

Nautilus Chain 更换全新测试网,主网即将在不久上线

威廉META

不容错过!10个Python自动化办公库免费送!(上)

程序员晚枫

Python 自动化办公

给大模型穹顶,树一根存力支柱

脑极体

存储

Nautilus Chain 更换全新测试网,主网即将在不久上线

EOSdreamer111

大模型基础:理论与技术演进

永佳

Centos7系列安装FineBI教程。

百度搜索:蓝易云

云计算 Linux centos 运维 FineBI

Cnetos7系统安装git仓库教程

百度搜索:蓝易云

git Linux centos7 运维 云服务器

告别内卷,瓴羊飞渡,中国ToB生态迎来 iPhone 时刻

B Impact

给我五分钟!让你掌握React的Redux中间件原理

汽车之家客户端前端团队

Amazon 上的数字孪生:使用 L3 预测性数字孪生来预测“行为”

亚马逊云科技 (Amazon Web Services)

Amazon

快速离线安装MySql数据库

zhengzai7

MySQL

代码随想录Day16 - 二叉树(三)

jjn0703

CentOS7系统搭建SFTP教程。

百度搜索:蓝易云

Linux 运维 SSH 云服务器 sftp

2023年Java面试最全攻略:秋招求职跳槽必刷题目1000+,横扫一切技术盲点!

架构师之道

java面试

博客重启计划,阿坚产品笔记

Bonaparte

产品 产品经理 产品设计 产品需求 产品定义

Docker学习路线5:在 Docker 中实现数据持久化

小万哥

Java c++ Go Docker 后端

H5页面秒开优化与实践

汽车之家客户端前端团队

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