就目前而言,不管是系统中的历史数据,还是持续不断接入系统中的实时数据,只要数据是可访问的,我们就能够处理这些数据。按照处理的数据形式和得到结果的时效性进行分类,数据处理框架就可以分为两类:批处理系统和流处理系统。
数据处理框架中的批处理就是一种用来计算大规模数据集的方法。批处理的过程包括将任务分解为较小的任务,分别在每个计算机上进行计算运行,根据数据分析的结果对数据的重新组合,然后通过计算机的计算出组合数据的最终结果。当处理非常巨大的数据集时,批处理系统是最有效的。而流处理就是对由连续不断的单条数据项组成的数据流进行计算,注重数据处理结果的时效性。
一、批处理系统
批处理系统在大数据中有很长的历史。批处理系统主要操作大量静态的数据,并且等到全部处理完成后才能得到返回的结果。批处理系统中的数据集一般符合以下特征:
1、有限: 数据集中的数据必须是有限的。
2、持久: 批处理系统处理的数据一般存储在某个储存器上。
3、海量: 一般来说只有海量的数据才能用批处理系统进行分析,并且海量的数据通常只能使用批处理系统来处理。
由于批处理系统在处理海量的持久数据方面表现出色,而历史数据的数量是很多的,所以它通常被用来处理历史数据,但是由于海量数据的处理需要耗费很多时间,所以批处理系统一般不用于即时性场景需求以及对延时要求较高的场景。
二、流处理系统
批处理系统好理解,那什么是流处理系统呢?流处理系统与批处理系统所处理的数据不同之处在于,流处理系统并不是针对已经存在的数据集进行操作,而是处理对从外部系统接入的的数据。流处理系统一般分为两种:
1、逐项处理: 每次处理一条数据,是真正意义上的流处理。
2、微批处理: 这种处理方式把一小段时间内的数据当作一个微批次,对这个微批次内的数据进行处理。
不论是哪种处理方式,其实时性都要远远好于批处理系统。因此,流处理系统非常适合应用于对实时性要求较高的场景,由于很多情况下,我们想要尽快看到计算结果,所以近些年流处理系统的应用越来越广泛。
相信大家看了这篇文章以后已经知道了数据处理框架上面的相关情况了吧,一般来说,数据的处理里不来批处理和流处理,批处理适用于历史数据的分析,而流处理适用于即时数据的分析,两者都有各自的优缺点。希望本文能够帮到大家。