04-flink VS spark VS strom
作者:
蜗牛写java | 来源:发表于
2019-10-07 20:29 被阅读0次
04-flink VS spark VS strom
流派对比
|
Record ACK |
Micro-batching |
Transactional updates |
Distribted snapshots |
代表 |
Apache Strom
|
Apache Spark
|
Goole Cloud Dataflow |
Apache Flink
|
语义保证 |
At least once |
Exactly once |
Exactly once |
Exactly once |
延迟 |
低 |
高 |
较低(事务延迟) |
低 |
吞吐 |
低 |
高 |
较高(取决于事务存储吞吐) |
高 |
计算模型 |
流 |
微批 |
流 |
流 |
容错开销 |
高 |
低 |
较低(取决于事务存储吞吐) |
低 |
流控 |
较差 |
较差 |
好 |
好 |
业务和容错分离 |
部分 |
紧耦合 |
分离 |
分离 |
原理 |
Source保留其产生的所有记录备份,当源头一条记录的所有派生记录都被处理完成,Source节点就可以删除其备份 |
连续的数据流不要切分到record级别,而是收敛切分为一批一批微批的、原子的数据进行类型Batch的计算。每个batch的数据可能会成功或者失败,我们就对当前失败的小批数据进行处理即可 |
原子地记录数据的处理以及状态的更新(类似数据的WAL日志)。一旦系统出现Fail,可从记录的日志中恢复我们需要的中间计算状态和需要处理数据 |
确定当前流式计算的状态(包括正在处理的数据,以及operator状态),生成该状态的一致快照,并持久存储 |
说明 |
一条条处理(下游处理完一条数据,再向上游要一条数据处理) |
相当于一批一批处理(微批) |
|
|
Flink API VS Spark API
API |
Spark |
Flink |
底层API |
RDD |
Process Function |
核心API |
DataFrame/DataSet/Structured Streaming |
DataStream/DataSet |
SQL |
SparkSQL |
Table API & SQL |
机器学习 |
MLlib |
FlinkML |
图计算 |
GraphX |
Gelly |
其它 |
|
CEP |
Flink VS Strom 吞吐
flinkVSstrom吞吐.png
Flink功能对比
flink功能对比.png
本文标题:04-flink VS spark VS strom
本文链接:https://www.haomeiwen.com/subject/hzucyctx.html
网友评论