实时离线平台Pora介绍@2015

简介:

概述

      Pora是Personal Offline Realtime Analyze的简称。

      几年前,淘宝的搜索结果已经不再千人一面的商品排序,而是深度融合了用户的个性化偏好的搜索结果。而实时变化的用户行为,能帮助算法更好地预测用户接下来的个性化偏好。为此需要一个系统能实时地获取用户行为,并支持算法实时修改用户或商品的个性化信息。这个系统开始了,叫做Pora。

      整个搜索pipeline上看,Pora位于引擎的离线部分。设计Pora的一个目标是实时处理流数据。因此Pora必须同时具备海量数据处理(高吞吐)和实时(低延迟)。除此之外,Pora还需要成为一个平台。众多算法模块可以运行、灵活调整和实时生效。

      Pora在搜索实时计算体系的位置,见图1:

搜索实时计算体系

图1.搜索实时计算体系

 

  

Pora总体架构

     从诞生以来,Pora经过了多次演变。 最初是storm集群上开发的应用。2014年迁移到Yarn集群,IStream作为流计算框架。2015年,Pora做了Tec重构。业务不断扩展,从简单的用户维度性别个性化到商品维度个性化,再到如今同时支持用户和商品两个维度多个场景的个性化,支持实时反作弊、推荐、赛马等业务。2015年开始有在线学习框架,现有LR/FTRL算法和实时矩阵分解算法。

     目前的Pora总体架构,如下图2:

Pora总体架构

 


图2.Pora总体架构

 

2015年Pora的重要改动

1. 基于Tec重构

       原有 Pora 的核心层独立出来,称为Tec项目。Pora定位业务逻辑和算法接口,开发更简洁。Tec是轻量级实时计算框架,支持快速开发高吞吐、低延迟的实时应用。例如AliExpress(AE)搜索的离线数据库Dump业务,基于Tec实现了小时批量到秒级实时的跨越。
      
 
Tec

图3. Pora的技术堆栈

2.在线学习

      数据和模型是算法的两大核心,14年基于Pora,实现了数据的实时更新。15年在Pora上开发了基于Parameter Server架构的在线学习框架,实现了模型的实时更新。

      图3是Pora内部的在线学习框架,工作机理参考Google的DownPour SGD。特点是异步,并行,平台化。Parameter Server由Feature Worker和Hbase Model Storage实现。
      在线学习的算法,详见文章《搜索双链路实时计算体系@双11实战》[5]

在线学习框架
图3. 在线学习框架

 

3.  7*24小时运行

      iStream0.9版本开始支持热切换配置,不用重启应用。主搜Dump在2015年实现了24小时增量。这两个基础完备后,Pora之前的凌晨停顿去掉了,用户个性化,推荐数据等都是24小时运行无延迟。在日常运行,处理数据延迟在秒级,算法改动配置只需要执行热切换命令。

 

4. 性能优化

      Pora整体QPS,2014年双11峰值94万。到了2015年双11期间,峰值达到501万。2015年双11当晚的零点流量高峰,Pora各应用无延迟,完成整条链路处理是秒级。整体QPS的提升,看着只有5倍多点,如果考虑业务的增长,性能的提升是不止的。

     性能的提升,离不开离线组和莫问团队在Yarn/HDFS/iStream/HQueue/Hbase的重要优化,以及CM8/ET2集群的资源优化。这里节约篇幅,就讲一下Pora上的业务优化和系统优化。

  • 业务优化:搜索PV日志的处理链精简和存储IO优化。直接读取htable,避开HSF限流的超时。auctionProfile表的userTag维度统计,去掉不需要的业务日志。
  • 系统优化:htable的client端增加cache,双十一当天高峰时段cache的平均命中率达到85%。优化Hqueue和Htable的配置,提高IO性能。解决auction/user/sync应用混合运行的机器热点。
 

将来

     今后有新的目标,敬请期待2016年。

 

参考文献

1. 搜索双链路实时计算体系@双11实战:http://yq.aliyun.com/articles/2699

2. Google DownPour参考:http://research.google.com/archive/large_deep_networks_nips2012.html

相关实践学习
基于Hologres+Flink搭建GitHub实时数据大屏
通过使用Flink、Hologres构建实时数仓,并通过Hologres对接BI分析工具(以DataV为例),实现海量数据实时分析.
实时计算 Flink 实战课程
如何使用实时计算 Flink 搞定数据处理难题?实时计算 Flink 极客训练营产品、技术专家齐上阵,从开源 Flink功能介绍到实时计算 Flink 优势详解,现场实操,5天即可上手! 欢迎开通实时计算 Flink 版: https://cn.aliyun.com/product/bigdata/sc Flink Forward Asia 介绍: Flink Forward 是由 Apache 官方授权,Apache Flink Community China 支持的会议,通过参会不仅可以了解到 Flink 社区的最新动态和发展计划,还可以了解到国内外一线大厂围绕 Flink 生态的生产实践经验,是 Flink 开发者和使用者不可错过的盛会。 去年经过品牌升级后的 Flink Forward Asia 吸引了超过2000人线下参与,一举成为国内最大的 Apache 顶级项目会议。结合2020年的特殊情况,Flink Forward Asia 2020 将在12月26日以线上峰会的形式与大家见面。
目录
相关文章
|
SQL 搜索推荐 测试技术
【Havenask实践篇】完整的性能测试
Havenask是阿里巴巴智能引擎事业部自研的开源高性能搜索引擎,深度支持了包括淘宝、天猫、菜鸟、高德、饿了么在内几乎整个阿里的搜索业务。性能测试的目的在于评估搜索引擎在各种负载和条件下的响应速度、稳定性。通过模拟不同的用户行为和查询模式,我们可以揭示潜在的瓶颈、优化索引策略、调整系统配置,并确保Havenask在用户数量激增或数据量剧增时仍能保持稳定运行。本文举例对Havenask进行召回性能测试的一个简单场景,在搭建好Havenask服务并写入数据后,使用wrk对Havenask进行压测,查看QPS和查询耗时等性能指标。
66425 6
|
存储 Java API
淘宝拍立淘图片搜索接口:轻松找到同款商品!
淘宝拍立淘图片搜索接口:轻松找到同款商品!
|
9月前
|
机器学习/深度学习 数据采集 存储
朴素贝叶斯处理混合数据类型,基于投票与堆叠集成的系统化方法理论基础与实践应用
本文探讨了朴素贝叶斯算法在处理混合数据类型中的应用,通过投票和堆叠集成方法构建分类框架。实验基于电信客户流失数据集,验证了该方法的有效性。文章详细分析了算法的数学理论基础、条件独立性假设及参数估计方法,并针对二元、类别、多项式和高斯分布特征设计专门化流水线。实验结果表明,集成学习显著提升了分类性能,但也存在特征分类自动化程度低和计算开销大的局限性。作者还探讨了特征工程、深度学习等替代方案,为未来研究提供了方向。(239字)
254 5
朴素贝叶斯处理混合数据类型,基于投票与堆叠集成的系统化方法理论基础与实践应用
|
12月前
|
机器学习/深度学习 人工智能 自然语言处理
数字化转型时代,HR如何用人事管理系统突破效率天花板?
本文深入剖析传统HR面临的四大效率困局,包括招聘低效、考勤错误频发、绩效管理混乱及数据决策滞后,并提出人事管理系统的核心功能矩阵作为解决方案。文章详细解读了招聘自动化引擎、智能考勤生态、绩效飞轮系统和数据决策驾驶舱的创新应用,帮助HR突破效率瓶颈。同时,针对系统选型提供了科学指南,强调适配性与实施策略的重要性。最后,展望HR系统未来三大进化方向:体验驱动、智能预测和生态互联,助力企业实现人力资源管理的数字化转型。
|
11月前
|
JSON API 开发者
深入研究:1688 拍立淘图片搜索 API 详解
本文介绍了 1688 拍立淘图片搜索 API 的功能与使用方法。该 API 支持开发者通过上传图片,在 1688 平台上搜索相似商品,返回商品标题、价格、销量等信息,适用于电商数据分析和商品推荐等场景。文章详细说明了接口的请求方式(HTTP POST)、参数(如 app_key、timestamp、sign 和 image)及 JSON 响应格式。此外,提供了 Python 请求示例代码,涵盖图片 Base64 编码、签名生成、发送请求及响应处理等步骤,帮助开发者快速集成与调试。
|
JSON API 开发者
淘宝拍立淘图片搜索API接口指南(淘宝API系列)
淘宝拍立淘图片搜索API为电商应用提供强大的技术支持,允许用户通过上传图片查找相似商品。开发者需在淘宝开放平台注册并获取权限,使用HTTP POST请求上传图片数据,返回商品列表信息如标题、价格等。该接口有助于提高购物效率和市场分析。示例代码展示了如何用Python调用此API,包括参数设置、签名生成和请求发送。
|
API Python
京东拍立淘图片搜索商品接口系列(京东 API)
简介:本文介绍了如何使用拍立淘图片搜索 API 在京东平台上查找相似商品。首先需安装 Python 库 `requests`,并通过内置库 `hashlib` 生成签名。API 支持通过图片 URL 或 Base64 编码的图片进行搜索,返回商品名称、价格等信息。示例代码展示了如何构建请求并处理响应。应用场景包括电商购物助手和竞品分析,帮助用户和商家提高购物效率和市场竞争力。
|
运维 搜索推荐 调度
Ha3搜索引擎简介
Ha3是阿里巴巴搜索团队开发的搜索引擎平台,它为阿里集团包括淘宝、天猫在内的核心业务提供搜索服务支持。
26112 1
|
自然语言处理 数据处理 调度
《Havenask分布式索引构建服务--Build Service》
Havenask是阿里巴巴智能引擎事业部自研的开源高性能搜索引擎,深度支持了包括淘宝、天猫、菜鸟、高德、饿了么在内几乎整个阿里的搜索业务。本文针对性介绍了Havenask分布式索引构建服务——Build Service,主打稳定、快速、易管理,是在线系统提升竞争力的一大利器。
102788 3
《Havenask分布式索引构建服务--Build Service》
|
机器学习/深度学习 人工智能 自然语言处理
使用Huggingface创建大语言模型RLHF训练流程的完整教程
ChatGPT已经成为家喻户晓的名字,而大语言模型在ChatGPT刺激下也得到了快速发展,这使得我们可以基于这些技术来改进我们的业务。
755 2