流数据实时计算是一种处理和分析实时数据流的技术,它允许企业从连续生成的数据(如日志文件、传感器数据、在线交易等)中即时提取价值。这种计算模式对于需要快速决策和响应的应用场景至关重要,如实时监控、在线推荐、欺诈检测等。Apache Flink 是实现流数据实时计算的流行框架之一。



2.1 数据流
数据流(Data Stream)是由连续生成的数据元素组成的序列,这些数据元素可以是来自各种源的记录、事件、或者其他形式的数据点。数据流通常是动态的、无界的,并且高速连续地到达处理系统。

数据流的特点包括:

1.连续性:数据流是连续到达的,没有明确的开始和结束。

2.无界性:理论上,数据流可以无限地持续下去,因此通常被认为是无界的。

3.实时性:数据流通常需要实时或近实时处理,以便及时响应或提取信息。

4.变化性:数据流的特性(如速度、大小、格式)可能会随时间变化。

5.无序性:数据流中的数据可能不按照产生的顺序到达,尤其是在分布式系统中,可能因为网络延迟或其他因素导致乱序。





2.2 数据流处理
2.2.1 流处理中的Time和Window
Time
事件时间(Event Time)
事件时间是指每个事件或元素在其生产设备上产生的时间。 该时间通常在它们进入Flink之前就已经嵌入在事件中,并且可以从每个事件中提取事件时间戳。

有了事件时间,基于窗口的聚合(例如,每分钟的事件数量)只是事件时间列上的一种特殊的分组和聚合。每个时间窗口是一个组,每一行数据可以属于多个窗口/组(针对滑动窗口,多个窗口可能有重合的数据)。

处理时间(Processing Time) :
处理时间是指正在执行相应Flink操作的机器的系统时间。


奔放的炒粉
1 声望1 粉丝