写点什么

Uber Freight 近实时分析架构,晚点取消的比例下降了 0.4%

作者:Claudio Masolo

  • 2022-11-26
    北京
  • 本文字数:1048 字

    阅读完需:约 3 分钟

Uber Freight近实时分析架构,晚点取消的比例下降了0.4%

Uber Freight是 Uber 的一个平台,致力于为托运人和承运人提供连接服务。为托运人提供可靠的服务对 Uber Freight 来说至关重要,这也就是为什么他们要开发承运人记分卡(Carrier Scorecard),其中包含了准时取货/送货、跟踪自动化和晚点取消等指标。关键在于他们要在 Carrier App 上近乎实时地显示这些信息,而且提供这种服务的架构必须足够快,快到可以满足这些指标需求。

 

这个架构的要求是数据新鲜度、延迟、可靠性和准确性。一旦运单完成或退回,将以较低的延迟更新绩效分数。每个承运人都可以在低延迟的情况下在应用中查看自己的绩效分数。数据的处理和服务具有较高的可靠性,如果发生了故障,整个系统可以进行优雅的恢复。性能指标必须得到精确的计算。

 

在设计和实现最终的架构之前,他们考虑了一些潜在的解决方案,特别是在聚合指标方面。这些潜在的解决方案包括使用MySQL进行动态聚合和使用 MySQL 进行数据预聚合。这两种解决方案都有一些缺点,主要的问题是需要批量插入或更新记录,以确保历史数据被正确更新。他们考虑的另一个解决方案是使用两张OLAP数据库表,一张存储原始数据,然后使用事件触发器异步函数来更新另一个表中的指标,但是这个解决方案是不可伸缩的,特别是在写入流量很高的情况下。

 


最终的架构图

 

最终的架构使用了KafkaFlinkPinot。后端服务生成的 Kafka 事件通过 Flink 来聚合。聚合的数据被摄取到 Pinot 中,它使用 Kafka 的实时摄取来保留最后三天的数据,历史数据被摄取到 HDFS 中。

 

Apache Pinot 提供了 JSON、排序列和星树等索引优化技术,以加速查询的性能。快速查询为承运人提供了更好的交互体验。为了实现 250 毫秒的表查询延迟,他们在 Pinot 表上创建了两种索引——倒排索引排序索引。倒排索引可以将带有 WHERE 子句的查询速度提高 10 倍,根据承运人的惟一 ID 对索引进行排序,将表的大小减小了一半,这也减小了查询延迟。

 

Neutrino 是用于访问 Pinot 数据集的查询网关,它是Presto的另一种部署方式,其中协调器和 Worker 运行在不同的主机上,可以独立执行查询。Neutrino 接受PrestoSQL查询,并将其翻译成 Pinot 查询语言。Neutrino 前面添加了 Redis 缓存,可以存储聚合指标最多 12 小时,缓存命中率超过了 90%。

 

根据Uber的观察发现,自从它开始向 Freight 司机提供绩效信息以来,所有关键指标都有了显著提升——晚点取消的比例下降了 0.4%,准时取货的比例提高了 0.6%,准时卸货的比例提高了 1%,自动跟踪的比例提高了 1%。这些绩效改进在 2021 年估计节省了 150 万美元的成本。

 

原文链接

https://www.infoq.com/news/2022/11/uber-freight-analysis/

2022-11-26 08:006798

评论

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

JNPF:一文详解可视化低代码开发平台的研究与应用

EquatorCoco

低代码 可视化开发

软件测试学习笔记丨SQL子查询实战练习

测试人

软件测试

免费做ppt的网站哪个好?这个AI制作PPT神器不容错过!

职场工具箱

效率工具 职场 PPT AIGC AI生成PPT

低代码开发与项目管理工作流优化

不在线第一只蜗牛

项目管理 低代码 定制化

成为顶尖1%前端开发者的10项必备技能

伤感汤姆布利柏

万字揭秘:助力单测提效,覆盖率八成无忧!

京东零售技术

测试 单元测试 企业号2024年8月PK榜

ETL数据集成丨为什么没有做好ETL的BI工具最终都会失败?

RestCloud

数据处理 BI ETL 数据集成

如何利用代理IP提升跨境市场竞争力?

IPIDEA全球HTTP

观测云对接 Pinpoint 最佳实践

观测云

Pinpoint

大型数字化企业怎么定义?为什么说大型数字化企业更需要堡垒机?

行云管家

数字化 等保

Java微信授权登录小程序接口

快乐非自愿限量之名

Java 小程序 微信

Python中的random模块及相关模块详解

我再BUG界嘎嘎乱杀

Python 编程 后端 random 开发语言

京东商品列表数据接口:开启电商数据洞察之门

tbapi

京东API接口 京东商品列表数据接口

图解Kafka:Kafka架构演化与升级!

王磊

ClkLog常见问题-埋点集成篇Sec. 1

ClkLog

望繁信科技携手松下信息,共话制造业的数智应用之道

望繁信科技

数字化转型 流程挖掘 流程智能

使用Packer构建镜像

快乐非自愿限量之名

大数据 Linux 服务器

扫码填表时,如何快速填充上次提交的内容?

草料二维码

YashanDB谈数据库未来出路和方向——回归商业本质 | YashanDB DTCC 2024 首秀

Geek_2d6073

数智未来:论低代码开发与人工智能技术的适配度

快乐非自愿限量之名

人工智能 低代码

程序员如何选择博客平台?

博客趣

个人博客 博客搭建 博客平台

如何根据API返回值优化商品搜索关键词

技术冰糖葫芦

API Explorer API 测试 API】 API 策略

无需多部备用机,云手机方便又便宜!

Ogcloud

云手机 海外云手机 云手机海外版 云手机群控 云手机推荐

XSKY 亮相中国移动智算存储论坛,共话 AI 存储创新之路

XSKY星辰天合

选对工具,‌事半功倍!‌详解10款项目管理神器

爱吃小舅的鱼

项目管理 项目管理软件

火山引擎联合Unity中国,共探游戏行业云计算+AI新场景

新消费日报

电商搜索革命:大模型如何重塑购物体验?| AICon

京东零售技术

LLM 企业号2024年8月PK榜

掌握VS Code:提升前端开发效率的秘诀

秃头小帅oi

为什么重写hashCode一定也要重写equals方法?

不在线第一只蜗牛

Java 基础

云手机:TikTok运营的必备工具

Ogcloud

云手机 海外云手机 tiktok云手机 云手机海外版 tiktok运营

深度挖掘市场趋势:利用京东商品列表数据接口进行高效数据分析的技术实践

tbapi

京东商品列表数据接口

Uber Freight近实时分析架构,晚点取消的比例下降了0.4%_架构_InfoQ精选文章