flink 核心概念(个人总结)

devtools/2024/9/23 12:28:55/

flink是一个强大的分布式流处理和批处理框架,具有低延迟、容错性、高吞吐量和灵活的api优势。

flink里面有七个核心概念。

数据流(datastream)

flink将数据视为流,无论是实时的无界数据流还是有界的数据流。

a.无界数据流:实时生成的数据流,没有结束点,例如实时交易数据

b.有界数据流:有明确开始和结束点的数据流,例如批量处理的历史数据。

转换操作(transformations)

转换操作是对数据流进行处理的计算单元,flink提供了多种内置的转换操作,例如:

  1. map: 对数据流中的每个元素应用一个转换函数
  2. flatmap:将一个元素转换为多个元素
  3. filter:基于一个条件过滤数据流中的元素
  4. KeyBy:根据指定的键将数据流中的元素分组
  5. Aggregate:对数据流中的元素进行聚合操作
  6. Window:在数据流上定义窗口,并在窗口中进行计算

状态(state)

flink支持有状态的流处理,它可以存储和访问数据流处理过程中的状态信息。

状态:在处理数据时,flink可以维护状态,这对于实现复杂逻辑如窗口操作和聚合是有必要的。

时间(state)

flink处理事件时间和摄取时间

事件时间:事件实际发生的时间

摄取时间:事件到达系统的时间

处理时间:事件被处理的时间

窗口(Window)

窗口是处理无界数据流的一种方法,它将数据流切分成有限大小的块进行处理。

1.滚动窗口:固定大小的窗口,当新的事件到达时,窗口会向前滚动。

2.滑动窗口:  窗口在数据流上滑动,可以覆盖多个时间间隔

3.会话窗口:基于事件之间的活跃期定义的窗口

容错(Fault Tolerance)

通过分布式快照机制提供容错性,它可以周期性地对状态进行快照,以便在发生故障时恢复。

1.检查点(checkpoint): flink定期创建状态和流数据的一致性快照

2.端到端容错:从数据源到数据输出的整个处理流程中,flink都能保证数据不丢失。

并行和分布(Parallelism and Distribution)

flink应用的并行度和分布性是设计时的关键考虑因素。

1.并行度:flink应用可以配置并行度,以决定任务被拆分成多少个子任务执行。

2.任务槽:flink在taskmanager中分配任务槽来执行并行任务。


http://www.ppmy.cn/devtools/103288.html

相关文章

【Python-办公自动化】批量修改EXCEL指定内容

欢迎来到"花花 Show Python",一名热爱编程和分享知识的技术博主。在这里,我将与您一同探索Python的奥秘,分享编程技巧、项目实践和学习心得。无论您是编程新手还是资深开发者,都能在这里找到有价值的信息和灵感。 自我介绍: 我热衷于将复杂的技术概念以简单易懂…

入门Java编程的知识点—>线程安全(day16)

了解掌握多个线程时,线程安全的问题?重点掌握同步方法是什么,如何使用?重点掌握同步代码块是什么,如何使用? 同步锁 线程安全:当多个线程同时访问一个对象资源时,如果不用考虑这些线程在运行时环境下的调度和交替执行…

YOLOv8改进 | 注意力篇 | YOLOv8引入CBAM注意力机制

1.CBAM介绍 摘要:我们提出了卷积块注意力模块(CBAM),这是一种用于前馈卷积神经网络的简单而有效的注意力模块。 给定中间特征图,我们的模块沿着两个独立的维度(通道和空间)顺序推断注意力图&…

MyBatis之XML配置文件(一)

Mbatis是一个ORM框架,可以用XML配置文件或注解映射SQL语句,映射文件是MyBatis框架的核心,本文主要讲述XML 映射文件的结构和使用方法。 一、SQL映射文件 SQL映射文件就是mapperxml配置文件,主要实现SQL语句的配置和映射&#xf…

在Spring 和 Spring Boot中使用配置属性

在Spring 和 Spring Boot中使用配置属性 一、在spring中使用配置属性1.1 手动指定配置文件1.2 获取属性值 二、在Spring Boot 中使用配置属性2.1 指定配置文件2.2 获取属性值 总结 一、在spring中使用配置属性 1.1 手动指定配置文件 在spring 中使用PropertySource注释选择属…

深入浅出神经网络-学习小结

神经网络识别手写数字 基础知识 如何理解感知机 激活函数是阶跃函数的神经元 sigmoid作用 阶跃函数的升级,平滑了阶跃函数,阶跃函数不容易稳定,sigmoid克服了此缺点 多层感知机 可以理解为多层sigmoid激活函数神经元连接的网络 前馈神经…

游戏发行技术体系之SDK技术体系

在上篇文章中提现过,SDK主要分为充值、登录、合规、数据、聚合和后台管理。 下面是针对SDK技术体系进行拆分 这个地方没有写账号,是因为我会账号独立出来,这块会在后面的账号技术体系单独规划。

在手机在线预览3D模型,是如何实现的?

在手机在线预览3D模型,主要依赖于几个关键技术和步骤来实现。以下是一个概括性的流程: 一、模型上传 选择平台:首先,用户需要选择一个支持3D模型在线预览的平台,如51建模网、Sketchfab等。这些平台通常提供用户友好的…