流式计算概念和基础
Flink的发展历程和现状
Flink架构概述
Flink核心算子详解
Flink SQL
Flink运营实践
什么是流处理/流式计算
• 流处理是对运动中的数据的处理,换句话说,在生成或接收数据时直接计算数据。
• 大多数数据都是连续的流:传感器事件、网站上的用户活动、金融交易等等。所有这
些数据都是随着时间的推移而创建的。
• 在流处理之前,此数据通常存储在数据库、文件系统或其他形式的大容量存储中。应
用程序将根据需要查询数据或计算数据
什么是流处理/流式计算
• 流处理改变了这种模式:应用逻辑,分析和查询始终存在,数据不断地流经它们。
• 在从流中接收到事件时,流处理应用程序对该事件作出反应。它可以触发动作,更新
聚合或其他统计,或“记住”该事件以供将来参考。以及连接多个数据流,并产生数
据流
有状态流处理
• 有状态流处理是流处理的子集。此状态用于存储从先前看到的事件派生的信息。
• 大多数的流处理都需要处理状态:
• 防欺诈应用程序会保留信用卡的最后交易。将新的状态与保留的状态中进行比较,标记为有
效或欺诈,并更新状态。
• 在线推荐应用程序将保留描述用户偏好的参数。
• 有状态流处理需要支持状态管理的流处理器
算子
• 窗口函数
转换和滚动聚合一次处理一个事件产生输出事件并更新状态。但是,有些操作必须收集并缓冲一
些数据以计算其结果。窗口函数不断从无限事件流中创建有限的事件集,好让我们执行有限集的
计算。常见窗口类型的语义:
• 滚动窗口是将事件分配到固定大小的不重叠的窗口中。