Flink了解、生态
Created: Jul 17, 2019 7:32 PM
Tags: flink基础
Apache Flink
是一个分布式大数据处理引擎,对有限数据流和无限数据流进行有状态的计算。是统一的大数据分析和流计算、批计算及机器学习引擎。
数据流
- 有限数据流:有限的不会改变的数据集合。批处理、离线运算。
- 无限数据流:数据流源源不断的。流式计算、流计算。如点击流、日志数据、物理传感器采集的数据等。
计算
- 流式计算、流计算
- 批处理/离线计算:在预先定义的时间内运行计算,完成时释放资源。
Flink特性
- 支持批处理和数据流程序处理
- 优雅的支持java和scala api
- 同时支持高吞吐和低延迟
- 支持时间处理和无需处理通过SataStream API,基于DataFlow数据流模型
- 在不同的时间语义(事件时间、摄取时间、处理时间)下支持灵活的窗口(时间,滑动,翻滚,会话,自定义触发器)
- 仅处理一次的容错担保
- 自动反压机制(可想象捏住水管理解)
- 图处理(批)、机器学习(批)、复杂时间处理(流)
- 在dataSet(批处理)API中内置支持迭代程序(BSP)
- 高效的自定义内存管理,简装的切换能力在in-memory和out-of-core中
- 兼容hadoop的mapreduce和storm
- 集成YARN,HDFS,Hbase和其他hadoop生态系统组件
Flink生态之核心组件栈
内部生态
- Untitled-97bea834-cd21-40e3-8c27-e5fd9dc8f1f6.png
外部生态
通过connector跟外部生态对接。connector官网上介绍的不一定全面,可以直接去github上查(直接搜flink)。
- Untitled-7795f27c-1d64-4d74-acea-5a19d8b2ea31.png
注:可以github搜FlinkX,基于flink的数据同步工具,袋鼠云开源的。

