事务处理,实时性好,但是不适用于高并发,数据量大的场景;
适用于数据量大,但是实时性差 (3)OLAP 联机分析处理
分布式处理的问题:数据乱序 (4)Lambda架构
实现一个需求,需要维护两套系统;
事件驱动型应用是一类具有状态的应用,它从一个或多个事件流提取数据,并根据到来的事件触发计算、状态更新或其他外部动作。比较典型的就是以kafka为代表的消息队列几乎都是事件驱动型应用。
SparkStreaming是微批次时间驱动,不管有没有消息过来都要计算
事件驱动型:
批处理的特点是有界、持久、大量,非常适合需要访问全套记录才能完成的计算工作,一般用于离线统计。
流处理的特点是无界、实时, 无需针对整个数据集执行 *** 作,而是对通过系统传输的每个数据项执行 *** 作,一般用于实时统计。
在spark的世界观中,一切都是由批次组成的,离线数据是一个大批次,而实时数据是由一个一个无限的小批次组成的。
在flink的世界观中,一切都是由流组成的,离线数据是有界限的流,实时数据是一个没有界限的流,这就是所谓的有界流和无界流。
3. 分层api Flink vs SparkStreaming(1) 本质上一个流一个批
(2)数据模型
Spark采用RDD模型,Spark Streaming的DStream实际上也是一组一组小批次的数据构成的RDDflink基本数据模型就是数据流,Event序列
(3)运行时架构
Spark是批计算,将DAG划分为不同的Stage,一个Stage完成后才能计算下一个Stageflink没有stage的概念,是标准的流执行模式,一个事件在一个节点处理完后可以直接发往下一个节点进行处理
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)