当前位置:   article > 正文

流处理(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的一个处理流程。应用到实际场景,比如人脸抓拍,和目标人员做相似度比对,超过阈值告警等。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/647192
推荐阅读
相关标签
  

闽ICP备14008679号