1.Spark Streaming是什么
Spark Streaming用于流式数据处理,是准实时的数据处理可以允许秒级别的延迟。
2.特点
易用 容错 易整合到spark体系
3.架构
2、DStream入门 1、WordCount实 *** 案例
1.需求:
使用 netcat 工具向 9999 端口不断的发送数据,通过 SparkStreaming 读取端口数据并统
计不同单词出现的次数
2.添加依赖
org.apache.spark spark-streaming_2.123.1.2
3.编写代码
package com.zch.spark.streaming import org.apache.spark.SparkConf import org.apache.spark.streaming.dstream.ReceiverInputDStream import org.apache.spark.streaming.{Seconds, StreamingContext} object sparkStreaming01_WordCount { def main(args: Array[String]): Unit = { // TODO 创建环境对象 // StreamingContext创建时,需要设置两个参数 // 第一个参数表示环境配置 val sparkConf = new SparkConf() .setMaster("local[*]") .setAppName("SparkStreaming") // 第二个参数表示批处理的周期(采集周期) val ssc = new StreamingContext(sparkConf,Seconds(3)); // TODO 逻辑处理 // 获取端口数据 val lines: ReceiverInputDStream[String] = ssc.socketTextStream("localhost", 9999) lines.flatMap(_.split(" ")) .map((_,1)) .reduceByKey(_+_) .print() // TODO 关闭环境 // 由于SparkStreaming采集器是长期执行任务的,所以不能直接关闭 // main执行完毕,应用程序会自动结束,所以不能让main执行结束 //ssc.stop() // 1、启动采集器 ssc.start() // 2、等待采集器关闭 ssc.awaitTermination() } }
4.启动netcat发送数据
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)