演讲嘉宾
中国Spark技术峰会林立伟
腾讯高级软件工程师《Spark Streaming 源码解析系列》(Github 500+ star)作者。自 2010 年开始从事流数据处理研究工作,熟悉实时流数据处理领域的问题解决方法,对流数据平台的具体维度如数据处理模型、故障恢复、状态管理、任务调度形式、数据动态分区与调整、时序性保证等有一定研究。熟悉 Apache S4, Apache Storm, Spark Streaming 核心代码,并有丰富实战经验,包括 2012 年先基于 Apache S4、后替换内核为 Apache Storm 构建了城市交通实施管理系统并在省会城市上线部署、稳定运行。现在腾讯广点通从事实时大数据处理研发工作,正在逐步完成统计、计费、策略控制等多项业务由 Storm 框架、MapReduce 框架向 Spark Streaming 框架迁移。
演讲主题
Spark Streaming 在腾讯广点通的应用Spark Streaming 提供了与其它 stream processing 系统,如 Apache Storm, Hadoop MapReduce 不完全相同的实时处理语义,API 与功能集合。在认识到 Spark Streaming 相对于 Apache Storm 和 Hadoop MapReduce 的优势后,我们腾讯广点通已在进行、并已完成了很多业务从 Apache Storm, Hadoop MapReduce 的迁移。 在这次 talk 中,我们与腾讯广点通的实际业务结合,侧重介绍 Spark Streaming 什么样的特性适合解决什么样的问题:
- Spark Streaming 的 exactly-once + 推测执行语义:实现反作弊的可重入,计费的可重入等
- Spark Streaming 的 micro-batch 模型:替代全量模型,实现精确、实时的增量计算模型,用于快速、准确的数据统计
- Spark Streaming 的 State 管理:利用其做缓存、去做去重,实现精准 uv 统计等
- Spark Streaming 的 job 生成与调度:利用其做原跨 MapReduce 实例的协作与锁状态管理,实现复杂 pipeline 的唯一重试