flink流式分析

时间语义

flink明确支持以下三种时间语义,如果想要使用事件时间,需要额外给flink提供一个时间戳提取器和Watermark生成器,flink使用它们来跟踪事件时间的进度

  • 事件时间:事件产生时间,数据中的记录的时间
  • 摄取时间:flink读取事件时的时间
  • 处理时间:具体算子处理事件的时间
Watermarks

watermarks的作用是定义何时停止等待较早的时间(乱序的事件流)

windows

windows的作用是将无界数据流分解成有界数据流做聚合分析

用 flink 计算窗口分析取决于两个主要的抽象操作:Window Assigners,将事件分配给窗口(根据需要创建新的窗口对象),以及 Window Functions,处理窗口内的数据

窗口分类

  • 滚动时间窗口
  • 滑动时间窗口
  • 滚动事件窗口
  • 滑动事件窗口
  • 会话窗口
  • 全局窗口

窗口应用函数

  • 批处理,ProcessWindowFunction 会缓存 Iterable 和窗口内容,供接下来全量计算
  • 流处理,每一次有事件被分配到窗口时,都会调用 ReduceFunction 或者 AggregateFunction 来增量计算
  • 两者结合,通过 ReduceFunction 或者 AggregateFunction 预聚合的增量计算结果在触发窗口时, 提供给 ProcessWindowFunction 做全量计算
晚到的事件

默认场景下,超过最大无序边界的事件会被删除,但我们有两个选择去控制这些事件

  1. 旁路输出
  2. 指定允许的延迟间隔,在这个间隔事件内,延迟的事件会继续分配给窗口
深入了解窗口操作
  • 滑动窗口是通过复制来实现的
  • 时间窗口会和时间对齐,一个小时的窗口,12:05开始运行,第一个窗口会在1:00关闭。滑动窗口和滚动窗口分配器所才用的offset参数可以改变窗口的对齐方式。
  • 窗口后面可以再接窗口
  • 事件触发窗口的创建,如果窗口内没有事件,就不会有窗口,也就不会输出结果
flink是一种处理引擎,也是一种流式数据库存储系统。流式数据库存储flink的核心概念是无限数据,在数据源端生成的数据经过流式处理引擎的处理和分析后,被存储在流式数据库中。 流式数据库存储flink的特点是高性能、低延迟和高可靠性。它能够快速处理和存储大规模的实时数据,并且能够保证数据的实时性和准确性。与传统的批处理方式相比,flink流式存储能够实现更快的数据处理速度和更低的数据延迟。 流式数据库存储flink还具有高扩展性和高容错性。它能够水平扩展,通过增加计算和存储节点来提升系统的性能和吞吐量。同时,flink还能够自动将数据备份到多个节点上,以提供高可用性和容错性,保证在节点故障时不会丢失数据。 此外,流式数据库存储flink还支持多样化的数据处理操作,可以对数据进行实时的过滤、聚合、转换和计算。可以通过编程的方式定义处理任务,并将结果存储在流式数据库中。这样,用户可以根据自己的需求和业务逻辑实现个性化的数据处理和存储。 总之,流式数据库存储flink是一种高性能、低延迟、高可靠性、高扩展性和高容错性的数据存储系统。它可以实时处理和存储大规模的实时数据,并且支持多样化的数据处理操作。在大数据时代中,流式数据库存储flink发挥着重要的作用,帮助用户实现快速、准确和实时的数据处理和存储。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值