《Apache Flink 案例集(2022版)》——2.数据分析——美团-Flink 的实时数仓平台建设(4)

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
简介: 《Apache Flink 案例集(2022版)》——2.数据分析——美团-Flink 的实时数仓平台建设(4)

《Apache Flink 案例集(2022版)》——2.数据分析——美团-Flink 的实时数仓平台建设(3) https://developer.aliyun.com/article/1228304



第 3 个问题是 FlinkSQL 调试繁琐,操作步骤多,业务需要创建额外的作业和 Kafka,还要将导出的结果进行存储。此外,输入构造复杂,为了针对性地调试某种输入场景,业务需要写代码来构建消息并写入数据源,甚至需要对多个不同数据源消息到来的顺序进行控制。上图左侧可以看到,为了做 FlinkSQL 调试,需要手动搭建一条与线上隔离的调试链路,然后写入 Mock 数据。


image.png


针对上述问题的解法是基于文件调试一键化。首先业务在 Web 端可以在线编辑 Mock 数据,Mock 数据是有界的消息序列,它的初始化可以先从线上抽样,然后再由业务进行修改。业务构建完 Mock 数据后,会将 SQL 作业的 Mock 数据持久化到右侧的 S3 文件对象系统上。业务在 Web 端点击调试,左侧发起的调试任务会在与线上隔离的服务器上单进程执行,执行时会从 S3 获取之前上传的 Mock 数据,而且可以根据 Mock 数据指定的多源消息之间的到达顺序和消息之间的发送间隔来执行,执行完成后会将输出结果也持久化到 S3,最后在 Web 端查询 S3 呈现给业务。  


更多情况下业务不需要修改 Mock 数据,只需要做抽样和执行两步操作。另外我们也支持了一些调试的高级功能,比如支持控制消息的顺序和间隔。  


第 4 个问题是 FlinkSQL 作业的异常定位。作业异常是指作业消费 Kafka 出现了积压,为了解决这个问题,需要定位出产生积压的原因。而定位原因时,归因的路径比较复杂,排查门槛比较高。另外由于归因的路径缺少系统化的沉淀,定位花费的时间也比较长。随着 SQL 作业的数量越来越多,如果完全依赖人工排查,工作量将会非常巨大。


image.png


针对上述为的解决方法是实现 SQL 作业的自动化异常诊断。通过 Flink Reporter 上报 SQL 作业的运行指标,并持久化到 TSDB 中用于历史查询。同时也会持久化 SQL 作业的运行日志,报警服务会根据规则监控 SQL 作业上报的 Kafka Offset 指标,当消费的 Offset 落后于生产的 Offset 时,会判定位作业发生消费积压,然后发出报警并下发异常事件,诊断服务会监听报警服务的异常事件。  


异常发生时,根据异常时间窗口内作业日志和作业指标分析异常原因,诊断服务可以通过增加规则来沉淀人工排查的经验。比如发生了 Restart,就会从日志中根据关键字来提取异常信息,未发生 Restart 则会根据反压指标找出瓶颈节点,然后结合 GC 指标、数据倾斜、火焰图等来分析瓶颈的原因,最后提出调优建议。


未来规划

未来,美团实时数仓平台的规划主要包括以下两个方面。  


首先,是流批一体开发运维,我们即将在实时数仓平台集成数据湖存储,并开放 FlinkSQL 的批作业,在存储和计算层都做到流批统一,提高工作效率。


其次,是作业的自动调优,继续提升作业诊断的准确率以及作业重启的效率。

相关实践学习
基于Hologres轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
相关文章
|
2月前
|
SQL Java API
Apache Flink 2.0-preview released
Apache Flink 社区正积极筹备 Flink 2.0 的发布,这是自 Flink 1.0 发布以来的首个重大更新。Flink 2.0 将引入多项激动人心的功能和改进,包括存算分离状态管理、物化表、批作业自适应执行等,同时也包含了一些不兼容的变更。目前提供的预览版旨在让用户提前尝试新功能并收集反馈,但不建议在生产环境中使用。
761 13
Apache Flink 2.0-preview released
|
2月前
|
存储 缓存 算法
分布式锁服务深度解析:以Apache Flink的Checkpointing机制为例
【10月更文挑战第7天】在分布式系统中,多个进程或节点可能需要同时访问和操作共享资源。为了确保数据的一致性和系统的稳定性,我们需要一种机制来协调这些进程或节点的访问,避免并发冲突和竞态条件。分布式锁服务正是为此而生的一种解决方案。它通过在网络环境中实现锁机制,确保同一时间只有一个进程或节点能够访问和操作共享资源。
82 3
|
3月前
|
SQL 消息中间件 关系型数据库
Apache Doris Flink Connector 24.0.0 版本正式发布
该版本新增了对 Flink 1.20 的支持,并支持通过 Arrow Flight SQL 高速读取 Doris 中数据。
|
1月前
|
消息中间件 监控 数据可视化
Apache Airflow 开源最顶级的分布式工作流平台
Apache Airflow 是一个用于创作、调度和监控工作流的平台,通过将工作流定义为代码,实现更好的可维护性和协作性。Airflow 使用有向无环图(DAG)定义任务,支持动态生成、扩展和优雅的管道设计。其丰富的命令行工具和用户界面使得任务管理和监控更加便捷。适用于静态和缓慢变化的工作流,常用于数据处理。
Apache Airflow 开源最顶级的分布式工作流平台
|
20天前
|
运维 数据挖掘 网络安全
场景实践 | 基于Flink+Hologres搭建GitHub实时数据分析
基于Flink和Hologres构建的实时数仓方案在数据开发运维体验、成本与收益等方面均表现出色。同时,该产品还具有与其他产品联动组合的可能性,能够为企业提供更全面、更智能的数据处理和分析解决方案。
|
1月前
|
监控 Cloud Native BI
8+ 典型分析场景,25+ 标杆案例,Apache Doris 和 SelectDB 精选案例集(2024版)电子版上线
飞轮科技正式推出 Apache Doris 和 SelectDB 精选案例集 ——《走向现代化的数据仓库(2024 版)》,汇聚了来自各行各业的成功案例与实践经验。该书以行业为划分标准,辅以使用场景标签,旨在为读者提供一个高度整合、全面涵盖、分类清晰且易于查阅的学习资源库。
|
3月前
|
消息中间件 资源调度 API
Apache Flink 流批融合技术介绍
本文源自阿里云高级研发工程师周云峰在Apache Asia Community OverCode 2024的分享,内容涵盖从“流批一体”到“流批融合”的演进、技术解决方案及社区进展。流批一体已在API、算子和引擎层面实现统一,但用户仍需手动配置作业模式。流批融合旨在通过动态调整优化策略,自动适应不同场景需求。文章详细介绍了如何通过量化指标(如isProcessingBacklog和isInsertOnly)实现这一目标,并展示了针对不同场景的具体优化措施。此外,还概述了社区当前进展及未来规划,包括将优化方案推向Flink社区、动态调整算子流程结构等。
420 31
Apache Flink 流批融合技术介绍
|
2月前
|
SQL 分布式计算 NoSQL
大数据-164 Apache Kylin Cube优化 案例1 定义衍生维度与对比 超详细
大数据-164 Apache Kylin Cube优化 案例1 定义衍生维度与对比 超详细
34 1
大数据-164 Apache Kylin Cube优化 案例1 定义衍生维度与对比 超详细
|
2月前
|
消息中间件 存储 druid
大数据-156 Apache Druid 案例实战 Scala Kafka 订单统计
大数据-156 Apache Druid 案例实战 Scala Kafka 订单统计
44 3
|
2月前
|
存储 大数据 分布式数据库
大数据-165 Apache Kylin Cube优化 案例 2 定义衍生维度及对比 & 聚合组 & RowKeys
大数据-165 Apache Kylin Cube优化 案例 2 定义衍生维度及对比 & 聚合组 & RowKeys
45 1

相关产品

  • 实时计算 Flink版
  • 推荐镜像

    更多