Spark流是Spark核心API的扩展,它提供了以高扩展,高吞吐量,高容错性的流的方式来处理实时数据的方法。
数据的涞源有很多,可以来自Kafka, Flume, Twitter, ZeroMQ, Kinesis或者TCP sockets。通过使用高级别的函数,比如map,reduce,join,window等,可以用复杂的算法来处理数据。
最后,处理后的数据能够被推送至文件系统,数据库,或者实时的dashboards。实际上,你可以在数据流上应用Spark的机器学习和图形处理算法。
Spark流的内部工作原理如下图。Spark流接收实时数据流,并将数据划分批次,然后交于Spark引擎生成最终成批的结果数据流。