《张迎-作业帮基于Flink的实时计算平台实践.pdf》由会员分享,可在线阅读,更多相关《张迎-作业帮基于Flink的实时计算平台实践.pdf(23页珍藏版)》请在三个皮匠报告上搜索。
1、张迎/实时计算平台负责人作业帮基于作业帮基于FlinkFlink的实时计算平台实践的实时计算平台实践发展历程发展历程Flink SQL应用实践平台建设总结展望#1#1#2#2#3#3#4#4整体架构数据库业务侧日志KafkamysqlApp,web,后端业务侧CanalFuxi实时离线实时计算Flink离线计算SparkStreaming/MRStarRocksDorisHologresESHive产品化BI分析工作台实时计算历程辅导老师:辅导老师:出勤、作答出勤、作答2019少量 Spark Streaming主讲主讲2019.9 11新增10+Spark StreamingFlink JA
2、R计算平台实时数仓实时数仓2020FlinkSQL(1.9.1)计算平台计算平台2020.11全部业务线全部业务线多云、多集群多云、多集群2021.11发展历程FlinkFlink SQLSQL应用实践应用实践平台建设总结展望#1#1#2#2#3#3#4#4Kafka数据流架构binloglogTableSQL JobSQL JobSQL JobTableTableTableTableTableSQL JobSQL JobTableTableEnd-To-End Monitor Trace任务管理任务管理、元数据元数据、血缘关系、权限管理、血缘关系、权限管理OLAP/MQ在 SQL 任务里支持
3、Trace存储选型以及结合FlinkSQL 的应用提高人效SQL21Table12AutoFrameAutoAutoTopicTopicTopicmetricstrace在线服务函数因此,考虑方便的给视图增加日志问题线上任务:视图多,case定位困难解决思路实时SQL任务视图不应太长以提高可读性支持复用不应太长以提高可读性支持复用打印日志方便定位SQL Why Trace?Table-DataStreamSQLSQLDAGDAG带来的问题:带来的问题:Trace,天然的多下游写入场景源表读取2次foo调用3次StatementSetRefs:1.1.11 StatementSet2.1.14
4、attachAsDataStreamTraceTrace 优化前DAGStatementSet解决效果解决效果l 源表读取1次l foo调用1次TransformationsTransformationsExecEnvTableEnvmerge intoStreamGraphgenerateexecute优化后的DAGDAG合并方案Trace 优化后DAG解决效果解决效果l 源表读取1次l foo调用1次TransformationsTransformationsExecEnvTableEnvmerge intoStreamGraphgenerateexecute优化后的DAGDAG合并方案T
5、race 优化后DAG如何使用如何使用l 一条语句增加视图trace:prepare_data.trace.fields=f0,f1TableTableSQL JobSQL JobTableTable事实流JOINJOIN ON f0JOIN ON f112Table 需求分析12Table需求一:多索引:f0、f1需求二:更新信息触发下游user_idlesson_idis_attend11231212303231141231VALUE=serialize()lesson_id123231setVALUE多索引RedisRedis Connector的优点1.高QPS、低延迟2.TTL3.存
6、储大小可控4.贴合计算模型注:索引一般不会修改,因此更新没有读操作Table 解决方案KEYKEY=(user_id,lesson_id)stringuser_idlesson_idis_attend11231212303231141231VALUE=serialize()lesson_id123231setVALUE多索引Rediskafkakafka更新消息:顺序性完整性Redis Connector的优点更新触发1.高QPS、低延迟2.TTL3.存储大小可控4.贴合计算模型注:索引一般不会修改,因此更新没有读