《王林红-Flink 在易车落地应用与实践.pdf》由会员分享,可在线阅读,更多相关《王林红-Flink 在易车落地应用与实践.pdf(36页珍藏版)》请在三个皮匠报告上搜索。
1、王林红易车数据平台负责人FlinkFlink在易车落地应用与实践在易车落地应用与实践平台现状平台现状应用场景应用场景平台建设平台建设流批一体流批一体未来规划未来规划#1#2#3#4#5#1#1平台现状平台现状实时计算平台发展历程200211、storm、spark编码开发2、低监控、无平台3、开发效率低早期阶段1、Flink 1.7落地使用2、SQL开发模式3、支持日志实时监控业务引入Flink引擎1、Flink 1.9 1.11等落地2、实时平台1.0版本上线3、实时数仓建设平台1.0建设1、统一实时数仓规范2、实时计算任务1000+3、流批一体建设4、数据湖技术引进落
2、地平台2.0建设#2 2应用场景应用场景应用场景应用场景#1实时监控实时监控1 1、日志监控、日志监控2 2、前端性能监控、前端性能监控3 3、业务数据监控、业务数据监控数据集成数据集成1 1、DBDB数据实时接入数据实时接入2 2、数据实时入仓、数据实时入仓 FlumeFlume-FlinkFlink3 3、数据传输通道:、数据传输通道:tidbtidb、mysqlmysql、sqlserversqlserver、clickhouseclickhouse等等实时数仓建设实时数仓建设1 1、实时指标(实时流量、线索)、实时指标(实时流量、线索)2 2、818818购车节实时大屏购车节实时大屏#
3、2#3#3 3平台建设平台建设平台架构公共服务实时实时BIBI报表报表数据源元数据流程中心DTS平台权限管理数据质量数据血缘任务运维智能诊断调度层引擎层yarnFLinkKafkaJARSQL任务管理任务管理实例管理资源管理资源管理TableUDFConnector模板开发中心开发中心监控告警开发调试语法检测配置管理集群管理平台层实时画像实时推荐通天晓平台服务平台架构-数据流向实时数据接入mysqlsqlserverlogKafkacanalflink cdccdcflume实时计算引擎FlinkYarnHdfs实时存储服务KafkaHbaseTidb/MySQLClickhouse自动获取s
4、chema,一键数据集成统一数据源124653任务状态、指标监控统一监控数据集成、加工、实时入仓多任务类型离线、实时元数据统一统一元数据打通离线数据权限体系统一权限多Flink版本支持多版本支持统一数据源统一数据模型为表离线数据接入数据源系统表结构变更通知Schema自动获取变更影响分析获取数据源信息更新MySQL/TIDBSqlServerClickhouseKafka新增数据源DTS平台表创建 数据源统一维护管理 模版化生成建表语句 对用户屏蔽链接地址及账号密码信息,提升账号体系安全性 流批数据模型统一 数据源变更,方便任务管理优势:优势:实时平台统一数据源原生统一数据源后统一元数据DML
5、操作DDL操作FlinkClientMySQLHive MetaStore离线元数据离线元数据 基于HiveCataLog进行元数据管理 库、表元数据持久化 统一实时、离线元数据,便于流批一体的切换Hive CatalogMemory CatalogHive实时元数据实时元数据数据血缘采集Flink-6757Sources-测试-发布-监控2、低门槛大数据开发:数据开发服务可配置化3、任务模式由DDL+DML 简化为 DML 调试发布监控#4 4流批一体流批一体前期数仓架构业务日志业务数据库HiveKafkaKafkaKafkaHiveHive实时数仓离线数仓数据来源ETLETLETLETLE
6、TLETLETLMR/SparkFlinkODSDWDDWSODSDWDDWS离线&实时数据比对 流批存储系统不一致逻辑修改&历史刷数Lambda架构是必然存在的一个问题需求变化涉及历史数据重刷离线、实时数据比对是一个常态实时数仓开发痛点1套逻辑&2套代码 批流底层数据模型不一致,需要开发两套代码 两套计算引擎,计算逻辑不能复用 不同平台和引擎切换,开发效率低、资源利用率也低 数据口径问题排查复杂用户需求离线需求始终存在需要实时离线数据比对尽量使用一套代码基于Flink构建流批一体数仓架构三种选择Batch:批模式Streaming:流模式AutoMatic:有限作业使用批模式,无限作业使用流
7、模式统一算子DataStream API统一调度统一ShuffleTable API流批一体Flink 架构流批一体数仓架构业务日志业务数据库HiveKafkaKafkaKafkaHiveHive实时数仓数据来源ETL离线修正ETL离线修正ETLFlinkFlinkFlink流式入仓统一计算引擎ODSDWDDWSODSDWDDWS流批切换解决方案 使用视图的方式,作字段映射 建一套相同的表,实时离线使用相同的元数据 开发sql转换工具,类似 Linkedin coral流批一体模式开发任务任务SQLSQLKafka 流表Hive 离线表 元数据统一,业务层面流批统一逻辑表 业务开发统一,流批代
8、码统一,提高开发效率 计算引擎统一,降低学习成本 流批模式一键切换统一元数据:表映射统一元数据:表映射流批一体优点维护一套代码,实现实时数据和离线数据统一处理优点优点一一同一套代码,避免口径不一致问题优点二优点二减少用户学习成本避免学习2套引擎优点三优点三支持流作业和批作业减少维护成本优点四优点四新的思考新的思考 如何解决回溯数据kafka性能瓶颈问题?存储是否也可以统一?如何更好解决数据更新问题?如何更好解决数据近实时OLAP分析问题?Why Hudi1、Upsert 功能支持较为成熟2、Hudi表文件可存储于Hdfs系统,兼容Hadoop生态圈(hive、spark、presto)3、Ta
9、ble组织方式灵活,根据场景选择模式(copy on write 或者 merge on read)4、Hudi已经集成Flink,统一计算引擎5、相对活跃的社区流批一体的数据湖架构业务日志业务日志业务数据库HudiKafkaKafkaKafkaHudiHudiETL增量ETLETL增量ETLETLFlink流式入仓FlumeCDC服务层服务层(OLAP/DB)(OLAP/DB)分析分析ODSDWDDWSODSDWDDWS收益收益#1实时实时OLAPOLAP结合presto,满足近实时olap分析场景DBDB数据实时入仓数据实时入仓加速db数据实时入仓,从小时级提升到5分钟内,加速数仓生产实时数仓建设实时数仓建设基于增量,更快完成近实时数仓建设工作,提高开发效率#2#3#5 5未来规划未来规划未来规划近一步提升平台易用性易用易用支持机器学习场景扩展扩展完善实时数据质量质量质量1、借助Alluxio加速数据查询2、全面拥抱Flink-CDC2.0提速提速