流处理(Stream)和批处理(Batch)

1 流处理和批处理的概念

在程序计算当中,同一节点或者不同节点之间的数据的传递是实时传递还是延迟传递,这就引出了两个概念。其实在非大数据领域这两个概念所起的作用也是很有限,但是在大数据领域,处理上亿级别的时候,效果就很明显了。尤其是实时计算领域。Hadoop的缺陷就是高延迟,因此他不可能用于低延迟领域或者场景。

以为的理解,流处理就是不同节点之间数据的传输是实时传递。比如节点1计算完成之后,将数据存储到内存或者文件系统当中,然后节点2立马获取数据源进行计算,传递下一个节点。这个过程是节点2处理上一个数据之后立马处理传递进来的新的数据源!

上述就是流处理的基本模型。那么批处理呢?什么是批处理。很简单,我们将数据存储到内存或者文件系统,规定数据量或者处理时间的阈值,超过阈值就开始下一个节点处理。

当DSF文件系统设置存储数据为上一个系统处理完之后的10s内的数据,一旦超过这个时间段的数据,那么下一个节点就从DFS获取这些数据,开始处理。

2 流处理和批处理框架都有哪家?

Storm是专门流处理框架。而Apache Flink和Apache Spark则都可以处理。其实从纯正的角度来看,只有Flink两者都可以处理,虽然Spark Stream都可以处理,但是从设计的原理来看,Spark Stream并不是正真的流处理框架。因为Spark是将待处理的出具通过micro-batch进行细粒度切割,从而多个任务同时计算处理。给用户的感知就好像实时处理计算一样。

为什么Flink就可以做到正真的;流处理和批处理呢?这是因为Flink有一个处理时间的阈值的设置。当阈值为0就是流处理,不是0就是批处理。让我们可以灵活的对数据根据实际场景来处理。

3 Flink的一个使用场景

                            

上图就是一个简单的Flink的一个处理流程。应用到实际场景,比如人脸抓拍,和目标人员做相似度比对,超过阈值告警等。

  • 5
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值