Spark Streaming是一种近实时的流式计算模型,它将作业分解成一批一批的短小的批处理任务,然后并行计算,具有可扩展,高容错,高吞吐,实时性高等一系列优点,在某些场景可达到与Storm一样的处理程度或优于storm,也可以无缝集成多重日志收集工具或队列中转器,比如常见的 kakfa,flume,redis,logstash等,计算完后的数据结果,也可以 存储到各种存储系统中,如HDFS,数据库等,一张简单的数据流图如下:
内部处理流程:
下面来看一个wordcount级别的入门例子,注意需要导入相关的包:
Java代码
Java代码
然后在对应的linux机器上,开一个nc服务,并写入一些数据:
Java代码
然后在控制台,可见计算结果,并且是排好序的:
至此,第一个体验流式计算的demo就入门了,后面我们还可以继续完善这个例子,比如从kakfa或者redis里面接受数据,然后存储到hbase,或者mysql或者solr,lucene,elasticsearch索引中,用来给前端js图表绘图所用。 参考文章: http://blog.scottlogic.com/2013/07/29/spark-stream-analysis.html http://spark.apache.org/docs/latest/streaming-programming-guide.html