Spark Streaming(一)——入门

Spark Streaming(一)——入门,第1张

Spark Streaming(一)——入门 1、概叙

1.Spark Streaming是什么

Spark Streaming用于流式数据处理,是准实时的数据处理可以允许秒级别的延迟。

2.特点

易用 容错 易整合到spark体系 

3.架构

 

 

2、DStream入门 1、WordCount实 *** 案例

1.需求:

使用 netcat 工具向 9999 端口不断的发送数据,通过 SparkStreaming 读取端口数据并统

计不同单词出现的次数

2.添加依赖


    org.apache.spark
    spark-streaming_2.12
    3.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发送数据

 

 

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5700780.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存