为了更好地理解Spark Streaming 子框架的处理机制,必须得要自己弄清楚这些最基本概念。
1、离散流(Discretized Stream,DStream):这是Spark Streaming对内部持续的实时数据流的抽象描述,即我们处理的一个实时数据流,在Spark Streaming中对应于一个DStream的实例。
2、批数据(batch data):这是化整为零的第一步,将实时流数据以时间片为单位进行分批,将流处理转换为时间片数据的批处理。随着持续时间的推移,这些处理结果就形成了对应的结果数据流了。
3、时间片或批处理时间间隔(batch interval):这是人为地对流数据进行定量的标准,以时间片作为拆分流数据的依据。一个时间片的数据对应一个RDD实例。
4、窗口长度(window length):一个窗口覆盖的流数据的时间长度。必须是批处理时间间隔的倍数。
5、滑动时间间隔:前一个窗口到后一个窗口所经过的时间长度。必须是批处理是假间隔的倍数。
6、input DStream:一个input DStream是一个特殊的DStream,将Spark Streaming连接到一个外部数据源来读取数据。
7、Receiver :长时间(可能 7 X 24小时)运行在Executor。每个Receiver负责一个input DStream(例如一个读取Kafka消息的输入流)。每个Receiver,加上DStream会占用一个core/slot。