基于Spark-Streaming的
实时计算服务平台
廖晓辉@京东
Agenda
• 技术要点
• 运行和监控
• Logging
• 示例展示
• 典型问题
• 性能调优实践
实时计算服务是?
• 目的:
– 将通用的功能或可公用的资源平台化服务化,让用户专注实时业务处理
逻辑的开发,用SQL或SDK ,要简单高效。
• 相关的计算环境:
– 便捷的数据导入/流式数据接入
– 稳定可靠的流数据
– 多租户资源隔离,处理能力弹性扩容(吞吐量及响应时间) ,容错机制(考
虑恢复成本和运行时成本) ,数据的严格有序到达和无序,及消费的有序
无序……
– 结果数据获取
Why Spark-Streaming?
• 用Spark Stack解决Batch以及Streaming处理问题,不需维护多套
Framework。
• YARN integration
• 长期演进考虑
项目背景
• 京东云数据开放服务—云海
• 实时计算需求
– 提供实时交易、实时流量等指标
– 有等价的T+1离线计算指标
• 需将T+1离线计算的指标转化为实时指标
• T+1离线计算复杂SQL转化为实时增量计算模式,并提供低延
迟的实时结果
– 数据源为订阅线上关系库实时变更以及过滤后的结构化流式数据
– 计算过程需关联历史数据:事实表关联,维表数记录数多数据量
大
– 低延迟、准确和可靠性
– ……
实时计算处理流程
App
SQL
Configuration
Output Fields FA, FB, FC, …
TableA
Join Filter
Join Filter Process TableB Join Filter
TableB
Aggregation, Distinct Count,…
Expr(…) as FA, Expr(…) as FB, … … …
Spark-Streaming
App on Yarn
Data Source Conn Info Kafka, RocketMQ
Table Joins -
HBase intermmediate Table
HBase Get with
原创力文档

文档评论(0)