1、姚冬阳/美团实时数仓平台负责人美团实时数仓平台建设2021新进展平台建设现状遇到的问题及解决#1#2未来规划#3#1平台建设现状实时数仓平台发展历程2018FlinkJar任务管理、监控2019Nau实时数仓平台调研、规划2020Nau-开发中心数据模型管理、开发SQL化2021Nau-运维中心有状态部署、异常诊断目标:降低实时数仓开发门槛实时数仓平台业务规模覆盖优选、买菜、金融、骑行等美团业务100+团队抽象Kafka、KV表模型7千+模型累计创建Flink SQL作业数4千+作业新增实时作业SQL化比例70%占比实时数仓平台应用场景-例1KafkaCanalDBLogKafkaAgentK
2、afkaOLAPOLAPT+1/nFlink SQL用于实时数仓主题宽表清洗、关联AnalysisTo TableFormatKafkaCanalDBLogKafkaAgentKafkaKafkaFlink SQLOLAPDBKVFlink SQLFlink SQLFlink SQL用于实时数仓APP层指标聚合To TableFormat实时数仓平台应用场景-例2实时数仓平台架构实时数仓平台集成Kafka模型管理开发KV模型管理开发版本管理Flink SQL校验Flink SQL调试Flink UDF管理自定义Format运维监控报警异常日志作业诊断状态快照管理AB部署参数调优治理DQC链路血
3、缘资源计费安全读写权限管理受限域#2遇到的问题及解决问题1:双流关联大状态问题#1回溯3天限制、等待几小时关联数据初始化难DiskMemHDFSSQL JobDiskMem#2作业间相同的关联数据不能复用内存资源开销大Scale-out due to performance issue Join even full history data(terabytes)解法:冷热关联分离DiskMemHDFSSQL JobDiskMemDiskMemSQL JobDiskMemKVJoin T+0,T+1 HiveT+1 batch syncLookup join T+2,T+3 Shared问题2:
4、SQL变更状态恢复问题#1新增聚合指标变更后不可恢复修改原指标口径增加过滤条件新增数据流关联增加聚合维度零点运维 or 线上断流解法1:双链路切换DBKafkaKafkaOLAPKafkaKafkaOLAPServiceSwicthCanalCanalFlinkFlinkFlinkFlink解法2:旁路状态生成DBKafkaKafkaOLAPCanalFlinkFlinkSavepointFlink新状态=历史数据+新逻辑Kafka Offset Check解法3:历史状态迁移DBKafkaKafkaOLAPCanalFlinkFlinkSavepointState ProcessorSave
5、point新状态 历史状态+新逻辑SQL变更状态恢复解法对比普适性资源成本线上断流等待时长双链路切换高大无长旁路状态生成高小少长历史状态迁移低小少短示例:平台提供自动化流程问题3:FlinkSQL调试繁琐问题KafkaKafkaFlink SQLKafkaKafkaMock InputFlink SQLOLAPOutputWorkload for SQL testing#1创建额外的作业、Kafka,导出操作步骤多#2多个源的消息顺序控制输入构造复杂解法:基于文件调试一键化WebSQL Local ExecutionSend taskInput orderingS3Input fileOutput fileUploadQueryMessage interval#1抽样、执行只需2步操作#2支持控制消息顺序、间隔增加高级功能示例:平台提供调试工具问题4:SQL作业异常定位问题#1排查门槛高#2定位时间长#3客服工作量大解法:作业异常诊断JobMetricsAlarmerDiagnoserReporterRulesTsdbLogsRulesRules#1异常指标日志收集#2人工排查经验沉淀示例:平台提供脏数据诊断#3未来规划流批一体开发运维作业自动调优