什么是Flink?

Flink是一个分布式处理引擎,用于有边界和无边界数据流上进行有状态的计算。

有界流:定义了流的开始,也定义了流的结束。有界流的所有数据可以被排序,所以不需要有序摄取,称为批处理。 无界流:定义了流的开始,没有定义流的结束。无界流需要持续处理,通常要求以特定顺序(事件发生顺序)摄取事件,以推断结果的完整性。

应用场景

  • 事件驱动型应用

事件驱动型应用是一类具有状态的应用,该应用会根据事件流中的事件触发计算、更新状态或进行外部系统操作。事件驱动型应用常见于事实计算业务,如:事实推荐、金融反欺诈、事实规则预警等。

  • 数据分析型应用

事实数据汇总,如:PV、UV。事实报表计算。

  • 数据管道型应用(ETL)

对数据实时的进行抽取/转换/加载处理,构建实时数仓。

优势特点

  • 多源支持:File System/kafka/es/hbase/jdbc/hive…
  • 支持Multi-Sink
  • 内置几百个函数处理(聚合函数)
  • 支持join/window语义