Flink vs Spark(3)

Flink是一个流处理计算框架软件。流处理的特点是它面向处理unbounded 数据,也就是说数据会不断的到达,然后等待处理。取决于Flink应用,数据会被不同的LOGIC来处理。

Flink的架构是提供一个distribued streaming dataflow, 上面是DataStream API for streaming, and DataSet API for batch.

DataStream上层提供EVENT processing (CEP, 复杂事件处理)和table for relational。

DataSet上层像Spark一样提供,Graph (Gelly),ML(FlinkML),and relational。

Flink是个主从结构的架构,使用Yarn做resource manager.

好玩的是Flink和Spark采用了不同的容错机制:Flink采用了Chandy-Lamport分布式快照机制和checkpoint。Spark采用了Lineage血统和重新计算。

在数据处理保证方面,Flink和Spark都提供了exactly once语义。Spark采用了Chandy-Lamport算法,即Marker-checkpoint。

Flink程序定义了处理的方向。首先定义Stream,它有起点和终点。起点是一个或多个Source。终点是一个或多个Sink。

有点像Spark,先定义一个DataSet,通过不断的Transform,最后到达一个Action.
在Flink的世界里,先定义一个Source,通过不断的Transform,最后到达一个Sink。
**每个transform产生一个新的stream。**Collectively, they form a stream flow.

例子,从Kafka读出来的log被Parse成Event,Event在时间窗内被统计和处理,最后由一个Sink来消费。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值