什么是Flink?
Flink是一个分布式处理引擎,用于有边界和无边界数据流上进行有状态的计算。
有界流:定义了流的开始,也定义了流的结束。有界流的所有数据可以被排序,所以不需要有序摄取,称为批处理。 无界流:定义了流的开始,没有定义流的结束。无界流需要持续处理,通常要求以特定顺序(事件发生顺序)摄取事件,以推断结果的完整性。
应用场景
- 事件驱动型应用
事件驱动型应用是一类具有状态的应用,该应用会根据事件流中的事件触发计算、更新状态或进行外部系统操作。事件驱动型应用常见于事实计算业务,如:事实推荐、金融反欺诈、事实规则预警等。
- 数据分析型应用
事实数据汇总,如:PV、UV。事实报表计算。
- 数据管道型应用(ETL)
优势特点
- 多源支持:File System/kafka/es/hbase/jdbc/hive…
- 支持Multi-Sink
- 内置几百个函数处理(聚合函数)
- 支持join/window语义