前几篇文章我们分别学习Spark RDD和PairRDD编程,本文小编将通过简单实例来加深对RDD的理解。
一.前期准备
开发环境:window7+eclipse+jdk1.7
部署环境:linux+zookeeper+kafka+hadoop+spark
本实例开发之前,默认已搭好了开发环境和部署环境,如果未搭建,可以参考本人相关大数据开发搭建博客。
二.概念理解
Spark Streaming 是Spark核心API的一个扩展,可以实现高吞吐量的、具备容错机制的实时流数据的处理。支持从多种数据源获取数据,包括Kafka、Flume、Kinesis 以及TCP sockets,从数据源获取数据之后,可以使用诸如map、reduce、join和window等高级函数进行复杂算法的处理。最后还可以将处理结果存储到HDFS、Databases和Dashboards等。实际上,你可以将流数据应用于Spark的机器学习和图形处理的算法上。
![](https://i-blog.csdnimg.cn/blog_migrate/94f28e1c78a7692090bedbe5c4902e5a.webp?x-image-process=image/format,png)
Spark Streaming处理的数据流图
Spark Streaming内部工作原理,其接收实时输入数据流,同时将数据划分成批次,然后通过Spark引擎处理生成按照批次的结果流。