Flink的应用场景
- 基于实时数据流的数据处理(Streaming Processing),通常在数十毫秒到数百毫
秒之间。 - 典型的事件驱动类应用, 包括欺诈检测(Fraud detection)、异常检测(Anomaly
detection)、基于规则的告警(Rule-based alerting)、业务流程监控(Business
process monitoring)、Web应用程序(社交网络)等。 - 实时的数据分析应用(Real-time Data Analytics Applications)。
- 管道式ETL(Data Pipeline Applications),比如启动一个Flink实时应用,数据源
(比如数据库、Kafka)中的数据不断的通过Flink Data Pipeline流入或者追加到数
据仓库(数据库或者文件系统),或者Kafka消息队列
Flink的应用场景
滚动窗口/滑动窗口/会话窗口
窗口在Flink源码中,用TimeWindow表示。
滑动窗口可以根据Event Time或Processing Time分为:
• TumblingEventTimeWindows
• TumblingProcessingTimeWindows
滑动窗口以一个步长(Slide)不断向前滑动,窗口的长度固定。
• SlidingEventTimeWindows
• SlidingProcessingTimeWindows
会话窗口根据Session gap切分不同的窗口,当一个窗口在大于Session gap的时间内没
有接收到新数据时,窗口将关闭。
• EventTimeSessionWindows
• ProcessingTimeSessionWindows
Flink SQL执行流程:逻辑计划优化
• PushDown Optimization
常见的下推优化有谓词下推(Predicate Pushdown)、列裁剪(Projection Pushdown)等