1.Flink简介
- 高吞吐、低延迟、高性能
- 支持带事件时间的窗口(window)操作:time、count、session、data-driven
- 支持有状态计算的exactly once语义
- 支持具有反压功能的持续流模型
- 支持基于轻量级分布式快照(snapshot)实现的容错
- 同时支持batch on streaming处理和Streaming处理
- Flink在JVM内部实现了自己的内存管理
- 支持迭代计算
- 支持程序自动优化:避免特定情况下shuffle、排序等昂贵操作,中间结果有必要时缓存

1.1Flink的重要特点
1.事件驱动型(Event-driven)
它从一个或多个事件流提取数据,并根据到来的事件触发计算、状态更新或其他外部动作。比较典型的就是以kafka为代表的消息队列几乎都是事件驱动型应用。
事件驱动应用程序的典型场景包括:
实时推荐(例如,在客户浏览零售商网站时推荐产品)
行为模式检测或复杂事件处理(例如,用于信用卡交易中的欺诈检测)
异常检测(例如,检测侵入计算机网络的尝试
2.流与批统一处理

3.分层api

分为三层。顶级 SQL/TABLE API 越顶层越抽象,表达含义越简明,使用越方便 越底层越具体,表达能力越丰富,使用越灵活
- DataSet:对静态数据进行批处理操作、将静态数据抽象成分布式数据集,使用Flink各种操作符处理数据集,支持Java、Scala、Python
- DataStream:对数据流进行流处理操作,将流式的数据抽象成分布式数据流,用Flink各种操作符处理数据流,支持Java、Scala
- Table API:对结构化数据进行查询操作,将结构化数据抽象成关系表。并通过类SQL的DSL对关系表进行各种查询操作,支持Java、Scala

最低0.47元/天 解锁文章
3730

被折叠的 条评论
为什么被折叠?



