爱奇艺 张超:爱奇艺广告大数据实践

August

2017/11/14 发布于 技术 分类

爱奇艺广告数据系统需要支持海量数据处理和高维ad hoc分析,同时要保证查询高性能,低延迟以及准确性。本次分享针对以上广告业务数据的挑战,介绍爱奇艺广告数据平台的整体设计及一些实践中的经验。

文字内容
1. 爱奇艺张S广A超告C-CC大h2a0r数le1s7据实践
2. Outline • 1. 爱奇艺广告简介 • 2. 广告数据的挑战和架构 • 3. 查询引擎 • 4. 数据质量保证 7• 5. 实时计算 SACC201• 6. 总结
3. 1. 爱奇艺广告简介 Ø 广告是爱奇艺商业变现的重要手段 Ø 全终端覆盖: Ø PC(含Mac),Mobile,TV Ø Flash,H5,iOS,Android,站外SDK Ø 丰富的展现形式: Ø 30+ 创意模板 7Ø 贴片,暂停,创可贴,原创贴,TrueView,信息流, 01Banner,互动贴片 2Ø 复杂的投放形态: CØ CPD,CPM,CPC,CPV,CPDownload SACØ 品牌,效果,RTB实时竞价,PDB,内部推广
4. 2. 爱奇艺广告数据应用场景 • 数据自助查询: 查询 • 广告收入,分成 • 订单投放效果,库存使用 SACC2017分析 • 可视化分析: • UV转化漏斗 • Post-buy人群,N+Reach 发现 • 异常检测 • 数据挖掘
5. 2. 广告数据的特点和挑战 数据量大 日均新增百亿级 日志,10T+, 存量达PB级 单表最高40+个 维度,3000亿行 数据 时间跨度长:需 要保存至少2年 以上 准确性要 求非常高 业务复杂 SACC2017收入结算 竞价 vs 定价 合作方广告分成 品牌 vs 效果 库存预估 数据表300+ 业务数据 实时可调 实时数据需求强 烈,广告主依赖 数据实时决策 数据计算要保证 业务数据调整后 数据准确性
6. 2. 爱奇艺广告数据架构 Titan 离线计算 (HDFS/Hive) 实时计算 (Kafka + Spark Streaming) SACC2017Cube Parquet Kudu Impala DataMixer 任务管理 系统监控 数据挖掘 Anomaly Detection 数据可视 化及报表 AdHoc查询
7. 3. 查询引擎-架构演进 HDFS 日志 文件 Hive MySQL QueryEngine SACC2017Hive Infobright QueryEngine Hive Titan Parquet Impala DataMixer 广告 数据 运营 分析 平台
8. 3. 查询引擎 - Impala Ø 选型原因: Ø 性能 Ø 支持SQL,支持Join Ø 实时与离线统一:无缝支持kudu Ø 水平扩展 Ø 与hadoop生态体系兼容 2017Ø Infobright-> Impala切换: CØ 双引擎并存 CØ DataMixer自动路由 SAØ 一致性检测 Infobright Hive Impala 一致性监控 DataMixer
9. 3. 查询引擎 – Cube智能构建 Ø 预聚合: Ø 把最常用的查询pattern预聚合成聚合表集合(Cube) Ø 空间换时间 Ø Full Cube vs Partial Cube: Ø Cube构建延迟,空间与查询性能的Tradeoff 17Ø 2/8原则 C20Ø Cube智能构建算法 CØ 固定覆盖率 SAØ 维度组合聚类 Ø 效果: Ø 整体平均查询性能0.79秒 Ø Cube构建以1%的存储消耗 换来40%+性能提升
10. 4. 数据准确性保证 Ø 广告数据直接影响收入及核心决策,准确性是根本 Ø 端到端数据流,数据出错的风险非常高 Ø 数据源端多且复杂 Ø 核心业务数据依赖于人工录入,且可变 Ø 累积效应: Ø 多个环节的低风险事件累积成高风险 017外部App C2iOS App CAndroid SAApp 订单管理 系统 订单维度 表 PC App 客户端 JOIN TV App Tracking Server Base 事实表 Middle 事实表 PC Flash HTML5 Web端 视频内容 生产系统 JOIN 内容维度 表 Report 汇总表
11. 4. 数据准确性保证-准确性判断 Ø 如何判断准确? Ø 一致性: Ø 不同环节之间:base-》middle-》report Ø 不同计算管道:实时 vs 离线 SACC2017Ø 数据本身趋势合理性:时间序列异常检测
12. 4. 数据准确性保证 – 异常检测 Ø 检测方法: Ø 恒定阈值:适合较为稳定的指标,如故障率 Ø 波动率:适合发现突升突降,但无法区别是否是流量本身上涨引起 Ø 动态阈值:基于预测算法,可以有效规避周末效应 Ø 3Sigma,Holt-Winters,ARIMA,FB Prophet 17Ø 应用落地: 20Ø 自动暂停,提示人工确认 CØ 一键重跑 SAC任务运行 异常检测 标记任务 完成 启动重跑 报警
13. 5. 实时计算 Ø 实时数据在广告的应用场景: Ø 广告投放效果分析,支持广告主实时决策 Ø 运营/运维监控,实时异常检测 Ø 实时数据挖掘: 广告主预算预警,CTR预估等 SACC2017 Ø 挑战: Ø 吞吐量大,尖峰QPS 100W+ Ø Exactly Once Ø 数据一致性 Ø 高可用
14. 5. 实时计算 – 架构 DC1 Spark Streaming Kudu Impala Parquet Tracking 17Server Kafka DC2 Spark Streaming Kudu C20Parquet ACØ Kudu: SØ 优点:写入即可查,聚合查询性能优于ES Impala Ø Lambda架构:最终一致性 Ø 异地双活: Ø 高可用:根据延迟,可用性状态自动切换集群 Ø TODO:脏数据自动判断 Ø 根据数据突变及一致性自动判断脏数据,切换到健康集群 DataMixer
15. 6. 总结 Ø 爱奇艺广告数据架构的特点: Ø Impala+Parquet/Kudu Ø Query serving 层: DataMixer+Titan Ø 异地双活保证高可用性 Ø 通过异常检测来保证数据正确性 17Ø 展望: 20Ø 实时和离线在计算层统一 CØ DataMixer与Titan整合 SACØ 新技术框架的探索:Druid,Flink
16. SACC2017