Presto 在 FreeWheel 广告平台下的实践与优化

如果无法正常显示,请先停止浏览器的去广告插件。
分享至:
1. P R E S TO 在 FREEWHEEL广告平台 下的实践与优化 乔子健 FreeWheel 高级软件开发工程师
2. FreeWheel FreeWheel, A Comcast Company (康卡斯特公司,美国最大的有线电视传输和宽带通信 公司) ,是专为视频媒体、广告主和媒体购买者提供高质量视频广告管理技术和服务 的提供商,借助优质的视频内容、强大的数据分析和领先的技术支持,助力广告行业 的蓬勃发展。目前,FreeWheel的广告平台正在美国被90%以上的主流电视媒体和运营 商使用。
3. 目录 CONTENT 01 Presto 基本概念 03 具体案例分享 02 在 FreeWheel 应用的现状 04 未来展望
4. 01 Presto 基本概念
5. Presto基本概念 “Presto is a distributed SQL query engine designed to query large data sets distributed over one or more heterogeneous data sources.” Presto是一个分布式的SQL查询引擎,用来查询分布在 多种数据源上的大数据集。
6. Presto基本概念 Presto is a distributed SQL query engine designed to query large data sets distributed over one or more heterogeneous data sources. Stage 2 Task 2.0 Task 2.1 Task 2.2 Task 1.1 Task 1.2 SHUFFLE Stage 1 Task 1.0 Drivers
7. Presto基本概念 Presto is a distributed SQL query engine designed to query large data sets distributed over one or more heterogeneous data sources. Presto Cluster Coordinator Worker Worker Worker Worker Worker
8. Presto基本概念 Presto is a distributed SQL query engine designed to query large data sets distributed over one or more heterogeneous data sources. Presto Cluster Coordinator Worker Worker Worker Connectors (SPI) Worker Worker
9. Presto基本概念 Presto is a distributed SQL query engine designed to query large data sets distributed over one or more heterogeneous data sources. SQL on Anything Connectors (SPI)
10. 02 Presto 在 FreeWheel 应用的现状
11. Presto在FreeWheel应用的现状 Presto版本: PrestoDB 0.236 集群部署: AWS 60K 1.1PB 15 & 100+ 280 QUERY数(SELECT + INSERT) 数据扫描量 集群数 节点数
12. Presto在FreeWheel应用的现状 使用到的Connector包括: • FW connector (自研) • Hive Connector • Hive Connector For AWS Glue • Hive Connector For Hudi • Mysql Connector • Postgresql Connector • Druid Connector • ClickHouse Connector (自研)
13. Presto在FreeWheel应用的现状 支持的业务包括: • 离线/在线报表 • 在线查询分析 • 前端dashboard • 前端API • 基于SQL的ETL • 等等
14. Presto在FreeWheel应用的现状 FW Connector • Schema很复杂的Parquet文件
15. Presto在FreeWheel应用的现状 FW Connector Coordinator • Schema很复杂的Parquet文件 • 表结构在内存中构造: ~2000 flatten列 • Metadata Service: rowgroup level的索引 • Parquet Reader plan & schedule query filter splits info splits Worker Worker Worker MDS
16. Presto在FreeWheel应用的现状 Presto Service Manager
17. Presto在FreeWheel应用的现状 SQLs Presto Gateway • • • • 统一的SQL访问入口 基于规则的路由策略 常驻集群 & 按需启动 集群大小: mini, medium, large, xlarge ... Gateway Service Manager
18. Presto在FreeWheel应用的现状 Arena • 数据处理平台 • 当前: Presto SQL on Anything • 未来: 引入更多数据处理能力
19. 03 具体案例分享
20. Presto在FreeWheel应用的具体案例分享 案例一 : FW Connector Parquet 纯列式读取 Blocks Blocks Presto Presto FW Connector unpack assemble (parquet-mr) column reader Parquet Column chunks Column chunks
21. Presto在FreeWheel应用的具体案例分享 案例二 : ClickHouse Connector with Push Aggregation Down Sub Plan Aggregate sum(v) group by expr_1 Table Scan Project expr_1 := date_format(t, '%Y-%m-%d') Table Scan & Filter column: t, v table: demo filterPredicate: t >= yesterday connector plan optimizer ClickHouse sql: select formatDateTime (t, '%Y-%m-%d'), sum(v) from demo where t >= yesterday Jdbc Direct columnar
22. Presto在FreeWheel应用的具体案例分享 案例二 : ClickHouse Connector with Push Aggregation Down Aggregate Aggregate Join Join Aggregate Left Right Left Sub Query → Sub Plan Right
23. Presto在FreeWheel应用的具体案例分享 案例二 : ClickHouse Connector with Push Aggregation Down Aggregate(Partial) Join Join Left Aggregate(Partial) Right Left Right
24. Presto在FreeWheel应用的具体案例分享 案例二 : ClickHouse Connector with Push Aggregation Down Project Aggregate(Partial) Join Project Aggregate(Partial) Join Project Left Right Left Right
25. Presto在FreeWheel应用的具体案例分享 案例二 : ClickHouse Connector with Push Aggregation Down Aggregate Join Join Left Aggregate Right Left Right
26. Presto在FreeWheel应用的具体案例分享 案例三 : MySQL connector 并行读取 ETL job on MySQL full scan partition info unique key info
27. Presto在FreeWheel应用的具体案例分享 案例三 : MySQL connector 并行读取 ETL job on MySQL full scan
28. 04 未来展望
29. 未来展望 1. 持续的集群调优 • sql pattern 分析 • config 调优 • 升级Presto新版本,应用新功能 2. 统一query的访问入口 3. 跨区域的容灾
30. 非常感谢您的观看

Home - Wiki
Copyright © 2011-2024 iteam. Current version is 2.137.1. UTC+08:00, 2024-11-16 07:40
浙ICP备14020137号-1 $Map of visitor$