Flink是一个开源流处理框架,注意它是一个处理计算框架,类似Spark框架,Flink在数据摄取方面非常准确,在保持状态的同时能轻松地从故障中恢复。
Flink内置引擎是一个分布式流数据流引擎,支持 流处理和批处理 ,支持和使用现有存储和部署基础架构的能力,它支持多个特定于域的库,如用于机器学习的FLinkML、用于图形分析的Gelly、用于复杂事件处理的SQL和FlinkCEP。Flink的另一个有趣的方面是现有的大数据作业(Hadoop M / R,Cascading,Storm)可以 通过适配器在Flink的引擎上执行, 因此这种灵活性使Flink成为Streaming基础设施处理的中心。
欢迎学Java和大数据的朋友们加入java架构交流: 855835163
群内提供免费的架构资料还有:Java工程化、高性能及分布式、高性能、深入浅出。高架构。性能调优、Spring,MyBatis,Netty源码分析和大数据等多个知识点高级进阶干货的免费直播讲解 可以进来一起学习交流哦
它支持所有下面关键功能:
- 处理引擎,支持实时Streaming和批处理Batch
- 支持各种窗口范例
- 支持有状态流
- Faul Tolerant和高吞吐量
- 复杂事件处理(CEP)
- 背压处理
- 与现有Hadoop堆栈轻松集成
- 用于进行机器学习和图形处理的库。
核心API功能:
- 每个Flink程序都对分布式数据集合执行转换。 提供了用于转换数据的各种功能,包括过滤,映射,加入,分组和聚合。
- Flink中的接收 器 操作用于接受触发流的执行以产生所需的程序结果 ,例如将结果保存到文件系统或将其打印到标准输出
- Flink转换是惰