1.1概述:
Spark Streaming架构概述和原理
Spark Streaming案例集锦
源码分析与性能优化
1.2 Spark Streaming架构概述和原理
What is Spark Streaming?
是规模的,可伸缩的,实时流处理。
Spark Streaming的数据来源除了上述kafka,flume,HDFS/S3,Kinsesis,Twitter之外,还可以来源TCP sockets网站发来的数据,并且可以使用高级函数例如,map,join,reduce和window,来构建复杂的算法。最后被处理过的数据也可以被保存在hdfs,Databases, Dashboards里面。并且可以用流处理来处理图计算和机器学习。
在Spark Streaming内部实现是接收到输入数据之后,以时间为分片对数据进行批次处理。,切分好数据分片之后,Spark Engine对数据进行计算,最后,产生一批又一批的处理后的数据。对于每一批的处理batch是并行处理的。例如,一秒产生一批,如果前一秒的还没处理完,下一秒的将不会被计算,这时候就会产生阻塞。因此这里面的时间设置也是一个优化点。
数据是串行输入的,每个batch处理是并行的。