SparkStreaming简介 - 与第一个Spark实时计算程序,使用netcat来写数据 - wordcount
2019-10-16 15:24
369 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_43736084/article/details/102586312
官方文档
Spark Streaming 火花流是spark API的扩展,它支持可伸缩、高吞吐量、容错的实时数据流处理。
数据可以从多种来源(如Kafka、Flume、Kinesis或tcp套接字)中摄取,并且可以使用用高级函数表示的复杂算法进行处理,例如map, reduce, join和window…最后,可以将处理过的数据推送到文件系统、数据库和活动仪表板。事实上,你可以申请星火机器学习和图形处理数据流算法。
在内部,它的工作方式如下。火花流接收实时输入数据流,并将数据分成几个批次,然后由火花引擎进行处理,生成最终的结果流。
火花流提供了一个名为离散流或DStream表示连续的数据流。DStreams可以从Kafka、Flume和Kinesis等源的输入数据流中创建,也可以通过对其他DStreams应用高级操作来创建。在内部,dStream表示为RDD
也就是SparkStreaming是用DStream来操作的与Spark Core里RDD操作一样
下面来是第一个程序wordcount
maven配置pom.xml
<!--SparkStreaming--> <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-streaming_2.11</artifactId> <version>2.1.1</version> </dependency>
package date_10_16_SparkStreaming import org.apache.spark.{SparkConf, streaming} import org.apache.spark.streaming.{Seconds, StreamingContext} object wordCount { def main(args: Array[String]): Unit = { //使用SparkStreaming完成wordcount //配置对象 val conf = new SparkConf().setMaster("local[*]").setAppName("wordcount") //实时数据分析的环境对象 //StreamingContext需要两个参数,一个conf,一个是采集周期 val streamingContext = new StreamingContext(conf,Seconds(3)) //从指定的端口中采集数据 val socketLineDstream = streamingContext.socketTextStream("chun1",9999) //将采集的数据进行分解(扁平化) val wordToSumDstream = socketLineDstream.flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_) wordToSumDstream.print() //这里不能停止采集功能,也就是streamingContext不能结束 //可以简单理解为启动采集器 streamingContext.start() //Driver等待采集器,采集器不挺Driver不停止 streamingContext.awaitTermination() } }
打开虚拟机安装netcat,这里用netcat来写数据
yum install -y nc
安装完成后输入nc -lk 9999
运行上面程序
在netcat输入数据,这里设定的每三秒为一个采集周期
看到的结果如下所示
相关文章推荐
- Spark Streaming实现实时WordCount,DStream的使用,updateStateByKey(func)实现累计计算单词出现频率
- SparkStreaming+Kafka 实现基于缓存的实时wordcount程序
- Kafka+Spark Streaming+Redis Spark streaming实时读取kafka中数据完成wordcount并写入redis中
- SparkSQL结合SparkStreaming,使用SQL完成实时计算中的数据统计
- Hadoop大数据平台入门——第一个小程序WordCount
- 使用eclipse开发spark程序 wordcount 事例
- 使用 Kafka 和 Spark Streaming 构建实时数据处理系统
- spark实时计算kafka消息队列中的wordcount
- 7.Spark Streaming:输入DStream之基础数据源以及基于HDFS的实时wordcount程序
- 使用 Kafka 和 Spark Streaming 构建实时数据处理系统
- SparkStreaming---WordCount程序
- Spark 实战, 第 2 部分:使用 Kafka 和 Spark Streaming 构建实时数据处理系统
- Spark 实战, 第 2 部分:使用 Kafka 和 Spark Streaming 构建实时数据处理系统
- 第一个spark scala程序——wordcount
- spark下载安装和第一个Wordcount程序
- 7.Spark Streaming:输入DStream之基础数据源以及基于HDFS的实时wordcount程序
- 使用 Kafka 和 Spark Streaming 构建实时数据处理系统
- java实现kafka整合spark streaming完成wordCount,updateStateByKey完成实时状态更新
- 使用 Kafka 和 Spark Streaming 构建实时数据处理系统(转)
- Spark学习(二):使用Spark开发wordcount程序