hai lu - 领英对实时流计算的应用和探索
2020-02-27 59浏览
- 1.领英对实时流计算的应用和探索 Stream Computing atLinkedIn:the application and the trail blazing 吕海 (Hai Lu) 数据基础架构资深工程师 2017.thegiac.com www.top100summit.com
- 2.背景介绍 LinkedIn • 数据规模:在全球超过5亿用户,超过9百万公司… Stream Infrastructure Team @LinkedIn • 开发并维护Apache Kafka, Apache Samza, Brooklin, Databus等多个与实时流计算相关的开源项目 2017.thegiac.com
- 3.大纲 • Apache Kafka简介与应用场景 • Apache Samza简介 • Apache Samza应用场景和功能介绍 • Apache Samza最新进展 2017.thegiac.com
- 4.Apache Kafka 数据的搬运工 2017.thegiac.com
- 5.Apache Kafka 数据规模 • 每天约3万亿条消息; 0.5PB数据写, 2PB数据读 • 超过5万个话题(Topics), 1百万个分区(Partitions) 应用 • 用户追踪数据 • 日志/系统监控数据 • 应用间通信 • 在线与离线系统之间数据传输(数据库/前端 Hadoop) 2017.thegiac.com
- 6.ApacheKafka:高效且稳定可靠的系统 应用于Espresso数据库的主从备份和跨数据中心同步(复制) 2017.thegiac.com
- 7.大纲 • Apache Kafka简介与应用场景 • Apache Samza简介 • Apache Samza应用场景和功能介绍 • Apache Samza最新进展 2017.thegiac.com
- 8.Apache Samza 开源的分布式实时流处理平台 Apache顶级项目 • 14 Committers, 62 Contributors 在领英大规模的部署 • 超过300个应用; 10000+YARN容器; 每天处理超过 2500亿条消息 广泛的用户 • LinkedIn, Uber, VMWare, Intuit, TripAdvisor, Slack… 2017.thegiac.com
- 9.Apache Samza 实时流处理系统/平台 2017.thegiac.com
- 10.Apache Samza 主要特点 • 带状态的实时流处理(Stateful Processing) • 高性能,高可靠(在LinkedIn等公司经过大规模的应用) • 统一的流处理与批处理API • 灵活的部署方式 • ... 2017.thegiac.com
- 11.大纲 • Apache Kafka简介与应用场景 • Apache Samza简介 • Apache Samza应用场景和功能介绍 • Apache Samza最新进展 2017.thegiac.com
- 12.ApacheSamza:应用场景1 实时的广告质量评估 • 如果广告在被浏览后2分钟内被点击则是“好”广告 • 使用时间窗口(Windowing) Stream-Stream Join 2017.thegiac.com
- 13.ApacheSamza:应用场景1 如何处理事件延迟(Late arrival events) • 所有事件在本地存储(RocksDb) • 找到受影响的窗口进行再处理 • 受Google MillWheel启发 本地状态会在Kafka中备份,用于恢复 • Host Affinity避免冷启动 2017.thegiac.com
- 14.ApacheSamza:应用场景1 当需要连接用户数据时 Stream-Table Join AdClick 2017.thegiac.com
- 15.ApacheSamza:应用场景1 使用本地数据库(RocksDb) • 100x性能提升 • 保护主数据库 Stream-Table Join AdClick 2017.thegiac.com
- 16.Brooklin 什么是Brooklin • 通用的数据导入系统 • 支持多种数据源与目标(Kafka, Espresso…) • 可作为Samza IO 2017.thegiac.com
- 17.ApacheSamza:应用场景2 对职位名称进行标准化,以便作为机器学习模型的输入(特征标准化) 程序员 全栈工程 师 后端工程师 代码诗人? 软件工 程师 2017.thegiac.com
- 18.ApacheSamza:应用场景2 将机器学习模型载入Samza任务中 实时读取数据库中的更新并输出职位标准化的结果 2017.thegiac.com
- 19.ApacheSamza:应用场景2 重处理(Reprocessing) • 人为造成的bug,导致需要重放几个小时以前甚至几天以前的事件 • 机器学习模型改变或业务逻辑改变,需要重新处理整个数据库 2017.thegiac.com
- 20.重处理(Reprocessing) 重放4小时以前数据 重处理所有数据 2017.thegiac.com
- 21.ApacheSamza:应用场景2 Samza on Hadoop • 将Samza部署在Hadoop集群,读写HDFS • 利用离线计算更强大的计算资源进行重处理 • 以HDFS作为输入对业务逻辑进行试错和A/B测试 2017.thegiac.com
- 22.Samza on Hadoop 2017.thegiac.com
- 23.其它应用场景 通知控制系统 反作弊系统 离线任务迁移到实时任务 … 2017.thegiac.com
- 24.大纲 • Apache Kafka简介与应用场景 • Apache Samza简介 • Apache Samza应用场景和功能介绍 • Apache Samza最新进展 2017.thegiac.com
- 25.ApacheSamza:与Apache Beam的整合 为什么加入Apache Beam • 多语言支持(Python, Java) • 在线与离线的整合 • 更多IO接口 2017.thegiac.com
- 26.ApacheSamza:Samza SQL 基于Apache Calcite 为什么做Samza SQL • 让更多人能使用实时流处理技术 • 更简便的实时数据查询 • 更便捷地创建实时流处理应用 2017.thegiac.com
- 27.ApacheSamza:Samza SQL 2017.thegiac.com
- 28.Q&A 2017.thegiac.com
- 29.扫码关注GIAC公众号 2017.thegiac.com www.top100summit.com