7.3 DStream操作
阅读原文时间:2023年07月11日阅读:1

一、Spark Streaming工作机制

  1. 在Spark Streaming中,会有一个组件Receiver,作为一个长期运行的task跑在一个Executor上;
  2. 每个Receiver都会负责一个input DStream(比如从文件中读取数据的文件流,比如套接字流,或者从Kafka中读取的一个输入流等等);
  3. Spark Streaming通过input DStream外部数据源进行连接,读取相关数据。

二、Spark Streaming程序的基本步骤

1.通过创建输入DStream来定义输入源

2.通过对DStream应用转换操作和输出操作来定义流计算;

3.用streamingContext.start()来开始接收数据和处理流程

4.通过streamingContext.awaitTermination()方法来等待处理结束(手动结束或因为错误而结束);

5.可以通过streamingContext.stop()来手动结束流计算进程

三、创建StreamingContext对象

  如果要运行一个Spark Streaming程序,就需要首先生成一个StreamingContext对象,它是Spark Streaming程序的主入口。

(1)可以从一个SparkConf对象创建一个StreamingContext对象登录Linux系统后,启动spark-shell。进入spark-shell以后,就已经获得了一个默认的SparkConext,也就是sc。因此,可以采用如下方式来创建StreamingContext对象:【ssc是streamingcontext的缩写,sc是sparkcontext的缩写,Seconds(1)表示每隔1s去切分数据流】

(2)如果是编写一个独立的Spark Streaming程序,而不是在spark-shell中运行,则需要通过如下方式创建StreamingContext对象:

参考文献:

【1】https://www.icourse163.org/learn/XMU-1205811805?tid=1206617233&from=study#/learn/content?type=detail&id=1211383869&sm=1