?????Flink可以完成数据的实时采集、实时计算和下游发送。
一、应用场景
1、实时计算
Flink 在实时数仓和实时 ETL 中有天然的优势:
2、事件驱动
????? 事件驱动型应用是一类具有状态的应用,他从一个或多个事件流提取数据,并根据到来的事件出发计算、状态更新或其他外部动作。
Flink的以下特性完美的支持了事件驱动应用:
二、架构模型
1、Flink的分层模型
Flink提供了不同级别的抽象来支持开发流式或批量处理程序,如上图。
一般完美不需要上图最低级别的Low-level抽象,而是针对Core API编程,比如DataStream API和DataSet API。Table API和SQL是Flink更高级的API操作。
2、Flink的数据流模型
Flink程序的基础构建模块是流(Streams)和转换(transformations),每一个数据流起始于一个或多个Source,并终止与一个或多个Sink,类似有向无环图(DAG)。
3、Flink中的窗口和时间
Flink支持流多种窗口模型,比如滚动窗口(Tumbling Window)、滑动窗口(Sliding Window)以及会话窗口(Session Window)等。
同时Flink支持事件时间(Event Time)、摄取时间(Ingestion Time)和处理时间(Processing Time)这三种语义来满足实际生产中对于时间的特殊需求。
原文:https://www.cnblogs.com/liufei-yes/p/13696983.html