flink:
一个框架和分布式处理引擎,用于在无边界和有边界数据流上进行有状态的计算
优势:
1高性能,高吞吐,低延迟;(如何实现?)
2支持event Time(如何实现?)
3支持有状态计算(如何实现?)
4支持灵活的window(Time/Count/Session/Data-driven),灵活的触发条件(如何实现?)
5基于轻量级分布式快照CheckPoint,支持容错,将拆解成的小计算过程分布到节点上处理,checkpoint将执行状态中状态信息进行持久化存储,确保处理数据在过程中的一致性(与ack机制的区别)
6基于JVM实现独立的内存管理,将所有数据对象转化城二进制在内存中存储,降低存储大小,对内存空间充分利用
7savePoint将任务执行的快照存储,任务重启时可直接从save点恢复
什么是状态?
计算过程中产生的中间结果,每次计算新结果是基于中间结果,不需进行全量计算,减少计算过程中间损耗和硬件存储
主要应用:
实时智能推荐、复杂事件处理(工业领域)、实时欺诈检测、实时数仓、ETL类型、流数据分析类型、实时报班类型等业务场景
流处理案例:
main
val env=StreamExecutionEnvironment.getExecutionEnvironment
import org.apache.flink.streaming.api.scala._
val stream=env.sockTextStream("node1",8888)
stream.flatmap(_.split(","))
.map((_,1))
.keyby(0)
.sum(1)
.print
env.execute("wordcount")
zookeeper 梳理
最新推荐文章于 2022-01-17 11:57:55 发布