滴滴大数据离线和实时平台架构和实践
本文档概括了滴滴大数据离线和实实时平台架构和实践的经验总结,涵盖了大数据架构部的主要职责、技术架构、实时计算平台、数据ETL、数据采集、数据加工、数据应用、实时监控、报警服务等方面。
一、大数据架构部主要职责:
* 负责滴滴大数据实时和离线计算平台基础设施
* 存储和计算引擎的版本开发、升级和维护(hadoop/hive/spark/flink/druid/hbase/phoenix/Alluxio)
* 离线&实时平台集群的开发、管理、维护、调优、升级
* 提供离线&实时开发平台、调度系统、管理平台和数据分析平台
* 服务所有滴滴对内数据业务
二、技术架构:
* MySQL
* log-agent
* app-sdk
* Kafka
* DSink
* binlog
* SparkStreaming
* Flink
* Druid
* 实时计算平台
* 离线计算平台
* Spark
* HDFS
* 库/表/分区
* Phoenix
* HBase平台
* BI实时监控
* 灭火图
* 客服智能大屏
* 错误实时诊断
* 地图ETA
* 专快出顺数仓
* 通用报表
* 安全数仓
* 轨迹数仓
* 代驾数仓
* 数据生成
* 数据采集
* 数据加工
* 数据应用
* 交易订单
* 司乘轨迹
* 数据APP
* 把脉Trace
* 实时数仓
* 数据服务化
* DQuality
三、实时计算平台:
* 维护了SparkStreaming和Flink两套流计算引擎
* Druid实时聚合数据指标
* 独立的实时集群,跟离线分开
* 任务级的管控/监控报警/日志诊断和流处理作业恢复
* Spark 1.6.1/ 2.1.1/2.2.0
* Flink 1.2.0/1.3.2
* Druid 0.10.1
四、实时计算集群架构:
* 数据上游:kafka
* 流计算:数据清洗、改造
* Druid实时写入
* 查询
五、典型流式系统集成架构:
* Mysql Slave
* Canal
* Kafka Topic
* Druid Datasource
* 文本日志
* Swan
* 业务层
* 实时ODS层
* 实时DWB层
* API拉取
* Python Spark Streaming/Flink/Samza Job
* 实时计算引擎层
* Parquet/ORC/Carbon HDFS
* Spark SQL/机器学习
* 原始明细实时存储
* 实时数据API
* 实时DWS层
* Consumer:如实时监控、报警服务、DashBoard,监控大屏,用户A、用户B…
六、BI实时监控:
* 1100+个实时数据指标
* 基于每个指标的阈值、变化率、同环比、模型实时报警
* 覆盖专车、快车、顺风车、优享、出租车、代驾、公交、支付、小巴等业务最重要的指标
七、基于Spark Streaming的ETA:
* 订单流和坐标流的实时join
* 进一步提取特征
八、基于Flink Streaming的乘客位置语义推送:
* 订单流和乘客流实时join
* 乘客位置变化推送给司机(是否出发、是否达到),准确率94%
* 减少司乘不必要的沟通,提升接驾效率
九、实时计算平台架构:
* 线上数据kafka
* 数据ETL(SparkStreaming/Flink)
* HDFS/Hive
* Druid DataSource1
* DataSource2
* DataSourceN
* 采集工单
* 实时消费
* 流作业编码
* 计算作业提交
* 任务管理
* Sink
* 实时ETL
* 实时ingest
* 实时指标构建
* API1
* API2
* http://host/monitor/v1/monitorId/sql/quickstartDemo1
* http://host/monitor/v1/monitorId/sql/quickstartDemo2
* DashBoard
* 报警
* 报警配置
十、实时计算平台:
* 采集工单
* 内置数据ETL作业
* webIDE自定义ETL逻辑
* 作业管理
* 指标构建
* DashBoard配置
* 实时报警
* 自助报警服务
* 支持模型报警和阈值报警