Spark-Streaming的学习使用

简介: SparkStreamingSpark Streaming可以轻松构建可扩展的容错流应用程序。 便于使用 把之前学过的处理离线数据的算子直接拿来使用 容错 sparkStreaming可以保证数据被消费一次 保证不丢失,不重复消费数据。 集成

1. SparkStreaming

Spark Streaming可以轻松构建可扩展的容错流应用程序。

   便于使用

   把之前学过的处理离线数据的算子直接拿来使用

   容错

   sparkStreaming可以保证数据被消费一次

   保证不丢失,不重复消费数据。

   集成

   flume/kafka/tcp sockets

2. SparkStreaming计算架构

image.png

3. Dstream

编写sparkStreaming程序需要了解Dstream。

一个抽象。流计算,数据源往往分布在多台计算。

Dstream属于离散(多台机器)数据流,我们在streaming程序中以Dstream表示。

首先创建Dstream,对Dstream进行处理就可以了。

rdd的类型:

1)transformation

2) action

Dstream也存在Transformation与action。Dstream其实也就是对rdd的高级包装。

Dstream如果接受实时的数据流会把数据切分为批次,这个批次会被spark引擎处理。

对于每个批次都会产生结果。

4.使用spark-Streaming进行流式wordcount计算

package day07
import org.apache.spark.streaming.dstream.{DStream, ReceiverInputDStream}
import org.apache.spark.streaming.{Milliseconds, StreamingContext}
import org.apache.spark.{SparkConf, SparkContext}
/*
rdd:创建程序入口 sparkContext
dataframe: sparkSession
Dstream:
 */
object WordCount {
  def main(args: Array[String]): Unit = {
    //1.创建sparkCOntect
    val conf = new SparkConf().setAppName("WordCount").setMaster("local[2]")
    val sc = new SparkContext(conf)
    //2.创建streamingContext
    val ssc: StreamingContext = new StreamingContext(sc,Milliseconds(2000))
    //3.可以创建Dstream, 首先接入数据源
    //socket
    val data: ReceiverInputDStream[String] =
      ssc.socketTextStream("192.168.64.111",7788)
    //4.进行计算,创建dstream
    val rd: DStream[(String, Int)] = data
      .flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_)
    //5.打印结果
    rd.print()
    //6.注意:需要启动sparstreaming程序
    ssc.start()
    ssc.awaitTermination()
  }
}
相关文章
|
分布式计算 API Spark
Spark学习--day05、SparkCore电商网站实操、SparkCore-工程代码
Spark学习--day05、SparkCore电商网站实操、SparkCore-工程代码
221 11
|
分布式计算 并行计算 大数据
Spark学习---day02、Spark核心编程(RDD概述、RDD编程(创建、分区规则、转换算子、Action算子))(一)
Spark学习---day02、Spark核心编程 RDD概述、RDD编程(创建、分区规则、转换算子、Action算子))(一)
609 1
|
1月前
|
分布式计算 Kubernetes 调度
Kubeflow-Spark-Operator-架构学习指南
本指南系统解析 Spark Operator 架构,涵盖 Kubebuilder 开发、控制器设计与云原生集成。通过四阶段学习路径,助你从部署到贡献,掌握 Kubernetes Operator 核心原理与实战技能。
115 0
|
6月前
|
机器学习/深度学习 人工智能 自然语言处理
3 秒音频也能克隆?拆解 Spark-TTS 架构的极致小样本学习
本文深入解析了 Spark-TTS 模型的架构与原理,该模型仅需 3 秒语音样本即可实现高质量的零样本语音克隆。其核心创新在于 BiCodec 单流语音编码架构,将语音信号分解为语义 Token 和全局 Token,实现内容与音色解耦。结合大型语言模型(如 Qwen 2.5),Spark-TTS 能直接生成语义 Token 并还原波形,简化推理流程。实验表明,它不仅能克隆音色、语速和语调,还支持跨语言朗读及情感调整。尽管面临相似度提升、样本鲁棒性等挑战,但其技术突破为定制化 AI 声音提供了全新可能。
491 35
|
分布式计算 大数据 Java
大数据-87 Spark 集群 案例学习 Spark Scala 案例 手写计算圆周率、计算共同好友
大数据-87 Spark 集群 案例学习 Spark Scala 案例 手写计算圆周率、计算共同好友
187 5
|
分布式计算 关系型数据库 MySQL
大数据-88 Spark 集群 案例学习 Spark Scala 案例 SuperWordCount 计算结果数据写入MySQL
大数据-88 Spark 集群 案例学习 Spark Scala 案例 SuperWordCount 计算结果数据写入MySQL
138 3
|
存储 分布式计算 算法
大数据-106 Spark Graph X 计算学习 案例:1图的基本计算、2连通图算法、3寻找相同的用户
大数据-106 Spark Graph X 计算学习 案例:1图的基本计算、2连通图算法、3寻找相同的用户
230 0
|
分布式计算 Java Scala
Spark学习---day03、Spark核心编程(RDD概述、RDD编程(创建、分区规则、转换算子、Action算子))(二)
Spark学习---day03、Spark核心编程(RDD概述、RDD编程(创建、分区规则、转换算子、Action算子))(二)
182 1
|
分布式计算 Shell Scala
学习使用Spark
学习使用Spark
316 3
|
分布式计算 算法 Spark
spark学习之 GraphX—预测社交圈子
spark学习之 GraphX—预测社交圈子
334 0