Spark Streaming技术内幕及源码剖析
上QQ阅读APP看书,第一时间看更新

1.2 Spark Streaming应用剖析

Spark Streaming可以接收Kafka、Flume、HDFS和Kinesis等各种来源的实时输入数据,进行处理后,处理结果保存在HDFS、Databases等各种地方,如图1-17所示。

图1-17 Spark Streaming的数据流

Spark Streaming接收这些实时输入数据流,会将它们按批次划分,然后交给Spark引擎处理,生成按照批次划分的结果流,如图1-18所示。

图1-18 Spark Streaming在Spark内的数据流

Spark Streaming程序代码中使用了StreamingContext作为Spark Streaming的入口,还使用了高度抽象的map、flatMap、reduce、join等原语,对初始的DStream(discretized stream,离散流)进行转换生成新的DStream,并利用最后的DStream来保存处理结果。

Spark Streaming为接收数据、负载均衡、数据处理会分别产生并执行若干个Job。