这个项目是基于spark streaming的日志分析系统,每分钟提交一次job,统计一分钟内的日志信息,同时也需要统计15分支内的异常ip信息.下面就来介绍下什么是spark streaming吧.
spark streaming
以下是摘抄自<<spark快速大数据分析>>的原文:
和spark基于RDD的概念很相似, spark streaming使用离散化流(discretized stream)作为抽象表示, 叫做DStream. DStream是随时间推移而收到的数据的序列. 在内部, 每个时间区间收到的数据都作为RDD存在,而DStream是由这些RDD所组成的序列.DStream可以从各种输入源创建, 比如flume, kafka或者HDFS. 创建出来的DStream支持两种操作(action), 一种是转化操作(transformation), 会生成一个心得DStream, 另一种是输出操作(output operation), 可以把数据写入外部系统中. DStream提供了许多与RDD所支持的操作相类似的操作,还增加与时间相关的新操作,比如滑动窗口.
很明显,spark streaming是用来编写实时流式的计算模块,同时提供了一定的容错机制,保证了7 * 24小时不间断运行.
DStream
- spark的运算基于RDD,而spark streaming的运算基于DStream.
- DStream其实就是封装了一组RDD序列的上层表示,这些RDD中的数据就是在开发者规定的窗口大小内,从输入源中获取的数据,这个窗口大小可以是1s,也可以是10s, 1分钟, 输入源可以是kafka, flume等.
- spark streaming会按照窗口大小, 一组一组地提交计算job到集群上运算.