有赞大数据实践:Presto的高性能与应用场景解析
177 浏览量
更新于2024-08-28
收藏 167KB PDF 举报
"Presto在有赞的实践之路"
在有赞的实践中,Presto被广泛应用并经历了逐步演进的过程。Presto最初是为了解决Facebook在使用Hive进行交互式查询时遇到的高延迟问题而诞生的。与Hive相比,Presto专注于提供快速响应的查询性能,适用于需要快速获取结果的分析场景,其延迟可达到分钟级甚至亚秒级。
Presto的架构设计是其高性能的关键。它采用了分布式的模式,客户端(Client)向协调器(Coordinator)发送查询请求。SQL语句通过ANTLR解析器转化为抽象语法树(AST),然后通过元数据进行语义解析。解析后的数据生成逻辑执行计划,经过优化后被切割成不同的Stage,由工作节点(Worker)生成Task执行。每个Task会生成相应的物理执行计划,工作节点执行这些计划,而客户端持续从协调器获取查询结果。Presto的高性能得益于其全内存计算、查询计划优化、动态代码生成以及数据调度本地化等策略。
在有赞的使用场景中,Presto扮演了多个重要角色。首先,它作为数据平台(DP)的临时查询工具,支持探索性数据分析,并提供了数据安全措施如脱敏和审计。其次,Presto被用于商业智能(BI)报表引擎,帮助商家生成各种分析报告。此外,元数据系统利用Presto进行数据质量校验,而数据产品如CRM分析和人群画像等也依赖于Presto的计算能力。
在演进历程中,有赞最初将Presto与Hadoop集群混合部署,但遇到了性能波动的问题。当Hadoop离线任务占用大量磁盘IO带宽时,Presto的查询性能受到影响。这促使有赞对Presto的部署模式进行调整,以优化资源分配,确保更稳定、高效的查询性能。
Presto在有赞的应用展示了其在大数据环境中的灵活性和高性能优势,尤其是在交互式查询和实时分析方面。随着有赞对Presto的不断优化和改进,它已成为支撑公司数据服务的重要基础设施,满足了各种复杂业务场景的需求。
2022-03-18 上传
2022-03-18 上传
2021-01-22 上传
2023-08-24 上传
2023-05-20 上传
2023-06-09 上传
2023-06-13 上传
2023-05-20 上传
2023-05-02 上传
weixin_38550812
- 粉丝: 3
- 资源: 894
最新资源
- 深入浅出:自定义 Grunt 任务的实践指南
- 网络物理突变工具的多点路径规划实现与分析
- multifeed: 实现多作者间的超核心共享与同步技术
- C++商品交易系统实习项目详细要求
- macOS系统Python模块whl包安装教程
- 掌握fullstackJS:构建React框架与快速开发应用
- React-Purify: 实现React组件纯净方法的工具介绍
- deck.js:构建现代HTML演示的JavaScript库
- nunn:现代C++17实现的机器学习库开源项目
- Python安装包 Acquisition-4.12-cp35-cp35m-win_amd64.whl.zip 使用说明
- Amaranthus-tuberculatus基因组分析脚本集
- Ubuntu 12.04下Realtek RTL8821AE驱动的向后移植指南
- 掌握Jest环境下的最新jsdom功能
- CAGI Toolkit:开源Asterisk PBX的AGI应用开发
- MyDropDemo: 体验QGraphicsView的拖放功能
- 远程FPGA平台上的Quartus II17.1 LCD色块闪烁现象解析