Flink 引擎

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
简介: Flink 引擎

💨Flink诞生的背景

什么是大数据?

🚩大数据指在一定时间内用常规软件工具对其进行获取、存储、管理和处理的数据集合。

🎈大数据的计算架构经过几个发展阶段后到了Flink引擎这里已经可以实现流计算、实时、更快、流批一体还支持SQL

什么是流式计算又为什么需要?

🚩在日常生活中,我们通常会把数据存储在一张表中,然后再进行加工、分析,这里就涉及到一个 时效性的问题。如果我们处理以年、月为单位的级别的数据,那么数据的时效性要求并不高;但如果我们处理的是以天、小时,甚至分钟为单位的数据,那么对数据的时效性要求就比较高。在第二种场景下,如果我们仍旧采用传统的数据处理方式,统一收集数据,存储到数据库中,之后在进行分析,就可能无法满足时效性的要求。 🚩而流式计算,顾名思义,就是对数据流进行处理,是实时计算。

💨详谈Flink

Flink的优点

🚩计算模式(Streaming Model):Native🚩一致性保证:Exactly-Once🚩延迟:低(毫秒级)🚩吞吐:High🚩容错:Checkpoint🚩状态(StateFul):Yes(Operator)🚩SQL支持:Yes

🎈Apache Flink是一个框架和分布式处理引擎,用于在无界和有界数据流上进行有状态计算。Flink被设计为可以在所有常见的集群环境中运行,以内存速度和任何规模执行计算。

Flink分层架构

图片.png

🚩最上面是SDK层,就是Flink给用户提供的SDK,目前主要有三类, SQL/Table、DataStream、Python;
🚩执行引擎层(Runtime层):执行引擎层提供了统一的DAG,用来描述数据处理的Pipeline,不管是流还是批,都会转化为DAG图,调度层再把DAG转化成分布式环境下的Task,Task之间通过Shuffle传输数据;🚩状态存储层:负责存储算子的状态信息;🚩资源调度层:目前Flink可以支持部署在多种环境。

Flink总体架构

图片.png

🎈一个Flink集群,主要包含两个核心组件:

🚩 JobManager(JM):负责整个任务的协调工作,包括:调度task、触发协调Task做Checkpoint、协调容错恢复等;🚩 TaskManager(TM):负责执行一个DataFlow Graph的各个task以及data streams的buffer和数据交换。

🎈JM的职责

JM分成三个小部件

🚩Dispatcher:接收作业,拉起 JM来执行作业,并在JobMaster挂掉之后恢复作业;🚩JobMaster:管理一个job的整个生命周期,会向ResourceManager申请slot,并将task调度到对应 TM上;🚩ResourceManager:负责slot资源的管理和调度, TM拉起后会向RM注册;

Flink如何做到流批一体

🎈为什么需要流批一体?✔比如在抖音中,我们需要实时地获取一个短视频的播放量,点赞数,评论数,当然也包括抖音直播间的实时观看人数等。而流批一体可以帮助我们减少资源消耗、降低 架构复杂性、提升价值产出效率

✨Flink主要从一下几个模块来做流批一体

🚩SQL层;🚩DataStream API层同意,批和流都可以使用DataStream来开发;🚩Scheduler层架构统一,支持流批场景;🚩Failover Recovery层架构统一,支持流批场景;🚩Shuffle Service层架构统一,流批场景选择不同的Shuffle Service;🍳在流处理引擎之上,Flink 有以下机制: 检查点机制和状态机制:用于实现容错、有状态的处理; 水印机制:用于实现事件时钟; 窗口和触发器:用于限制计算范围,并定义呈现结果的时间。  🍳在同一个流处理引擎之上,Flink 还存在另一套机制,用于实现高效的批处理。 用于调度和恢复的回溯法:由 Microsoft Dryad 引入,现在几乎用于所有批处理器; 用于散列和排序的特殊内存数据结构:可以在需要时,将一部分数据从内存溢出到硬盘上; 优化器:尽可能地缩短生成结果的时间。


  • Flink 是一个框架和分布式处理引擎,用于对无界和有界数据流进行有状态计算。Flink 被设计在所有常见的集群环境中运行,以内存执行速度和任意规模来执行计算。
  • 批处理的特点是有界、持久、大量,批处理非常适合需要访问全套记录才能完成的计算工作,一般用于离线统计。
  • 流处理的特点是无界、实时,流处理方式无需针对整个数据集执行操作,而是对通过系统传输的每个数据项执行操作,一般用于实时统计。


相关实践学习
基于Hologres轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
Linux入门到精通
本套课程是从入门开始的Linux学习课程,适合初学者阅读。由浅入深案例丰富,通俗易懂。主要涉及基础的系统操作以及工作中常用的各种服务软件的应用、部署和优化。即使是零基础的学员,只要能够坚持把所有章节都学完,也一定会受益匪浅。
目录
相关文章
|
8月前
|
SQL 消息中间件 Kafka
流数据湖平台Apache Paimon(二)集成 Flink 引擎
流数据湖平台Apache Paimon(二)集成 Flink 引擎
988 0
|
2月前
|
存储 分布式计算 流计算
实时计算 Flash – 兼容 Flink 的新一代向量化流计算引擎
本文介绍了阿里云开源大数据团队在实时计算领域的最新成果——向量化流计算引擎Flash。文章主要内容包括:Apache Flink 成为业界流计算标准、Flash 核心技术解读、性能测试数据以及在阿里巴巴集团的落地效果。Flash 是一款完全兼容 Apache Flink 的新一代流计算引擎,通过向量化技术和 C++ 实现,大幅提升了性能和成本效益。
1451 73
实时计算 Flash – 兼容 Flink 的新一代向量化流计算引擎
|
7月前
|
SQL DataWorks 调度
DataWorks产品使用合集之支持哪些实时计算引擎
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
142 7
|
3月前
|
存储 运维 监控
实时计算Flink版在稳定性、性能、开发运维、安全能力等等跟其他引擎及自建Flink集群比较。
实时计算Flink版在稳定性、性能、开发运维和安全能力等方面表现出色。其自研的高性能状态存储引擎GeminiStateBackend显著提升了作业稳定性,状态管理优化使性能提升40%以上。核心性能较开源Flink提升2-3倍,资源利用率提高100%。提供一站式开发管理、自动化运维和丰富的监控告警功能,支持多语言开发和智能调优。安全方面,具备访问控制、高可用保障和全链路容错能力,确保企业级应用的安全与稳定。
56 0
|
5月前
|
Java Spring 安全
Spring 框架邂逅 OAuth2:解锁现代应用安全认证的秘密武器,你准备好迎接变革了吗?
【8月更文挑战第31天】现代化应用的安全性至关重要,OAuth2 作为实现认证和授权的标准协议之一,被广泛采用。Spring 框架通过 Spring Security 提供了强大的 OAuth2 支持,简化了集成过程。本文将通过问答形式详细介绍如何在 Spring 应用中集成 OAuth2,包括 OAuth2 的基本概念、集成步骤及资源服务器保护方法。首先,需要在项目中添加 `spring-security-oauth2-client` 和 `spring-security-oauth2-resource-server` 依赖。
63 0
|
5月前
|
消息中间件 数据挖掘 Kafka
揭秘大数据时代的极速王者!Flink:颠覆性流处理引擎,让实时数据分析燃爆你的想象力!
【8月更文挑战第29天】Apache Flink 是一个高性能的分布式流处理框架,适用于高吞吐量和低延迟的实时数据处理。它采用统一执行引擎处理有界和无界数据流,具备精确状态管理和灵活窗口操作等特性。Flink 支持毫秒级处理和广泛生态集成,但学习曲线较陡峭,社区相对较小。通过实时日志分析示例,我们展示了如何利用 Flink 从 Kafka 中读取数据并进行词频统计,体现了其强大功能和灵活性。
101 0
|
5月前
|
消息中间件 分布式计算 Kafka
流计算引擎数据问题之MillWheel 和 Flink 实现数据流的同步处理如何解决
流计算引擎数据问题之MillWheel 和 Flink 实现数据流的同步处理如何解决
40 0
|
5月前
|
消息中间件 Kafka Apache
流计算引擎数据问题之Apache Flink 的完整性推理方案设计如何解决
流计算引擎数据问题之Apache Flink 的完整性推理方案设计如何解决
72 0
|
6月前
|
关系型数据库 MySQL 网络安全
实时计算 Flink版操作报错合集之Debezium引擎因为其他错误而关闭,导致无法检索到引擎的schema历史记录,该如何解决
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
6月前
|
SQL 数据处理 Apache
Apache Flink SQL:实时计算的核心引擎
Apache Flink SQL 的一些核心功能,并探讨了其在实时计算领域的应用。随着 Flink 社区的不断发展和完善,Flink SQL 将变得越来越强大,为实时数据分析带来更多的可能性。