flink 核心概念(个人总结)

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中分配任务槽来执行并行任务。

相关推荐
宸津-代码粉碎机5 小时前
OpenAI 连夜迎战 Grok Bot 和 Muse:AI 智能体从 “会聊天” 到 “能办事”,现在入场还来得及吗
java·大数据·人工智能·分布式·python
Leo.yuan7 小时前
2026年本地化Data Agent优质厂商盘点:哪些产品更适合企业生产环境
大数据·数据库·人工智能
云上先途7 小时前
任务智能体可以自动完成哪些类型工作,是不是只能做简单重复操作?
大数据·人工智能
小蒋观天下7 小时前
两轮车检测AI摄像头——2026行业竞争格局、商业模式与核心痛点
大数据·人工智能·安全·计算机视觉·ai大模型
RisunJan7 小时前
【这就是AI】AI每日资讯简报 - 2026-09-28(周一)
大数据·人工智能
圆圆讲门店8 小时前
挑选同城获客服务机构时需要考量的核心因素都有哪些?
大数据·网络·人工智能·python
小蒋观天下9 小时前
两轮车检测AI摄像头——2026-2030年未来市场规模、增长逻辑与行业天花板
大数据·人工智能·安全·计算机视觉·ai大模型
pusheng20259 小时前
马年市场快报 | 阿尔及利亚政府推进2200万台家用CO报警器安装计划
大数据·人工智能
2601_9657422210 小时前
布局GEO AI本地营销,我重点看这几个细节
大数据·人工智能·算法·ai·新媒体运营
灰山君10 小时前
山海鲸可视化对比DataEase:企业数据可视化的两种路径
大数据·信息可视化·数据分析·数字孪生·3d模型