MapReduce服务 MRS-Python:Spark Streaming常用接口

时间:2023-11-01 16:19:48

Spark Streaming常用接口

Spark Streaming中常见的类有:

  • pyspark.streaming.StreamingContext:是Spark Streaming功能的主入口,负责提供创建DStreams的方法,入参中需要设置批次的时间间隔。
  • pyspark.streaming.DStream:是一种代表RDDs连续序列的数据类型,代表连续数据流。
  • dsteam.PariDStreamFunctions:键值对的DStream,常见的操作如groupByKey和reduceByKey。

    对应的Spark Streaming的JAVA API是JavaStreamingContext,JavaDStream和JavaPairDStream。

Spark Streaming的常见方法与Spark Core类似,下表罗列了Spark Streaming特有的一些方法。

表3 Spark Streaming常用接口介绍

方法

说明

socketTextStream(hostname, port, storageLevel)

从TCP源主机:端口创建一个输入流。

start()

启动Spark Streaming计算。

awaitTermination(timeout)

当前进程等待终止,如Ctrl+C等。

stop(stopSparkContext, stopGraceFully)

终止Spark Streaming计算,stopSparkContext用于判断是否需要终止相关的SparkContext,StopGracefully用于判断是否需要等待所有接受到的数据处理完成。

UpdateStateByKey(func)

更新DStream的状态。使用此方法,需要定义State和状态更新函数。

window(windowLength, slideInterval)

根据源DStream的窗口批次计算得到一个新的DStream。

countByWindow(windowLength, slideInterval)

返回流中滑动窗口元素的个数。

reduceByWindow(func, windowLength, slideInterval)

当调用在DStream的KV对上,返回一个新的DStream的KV对,其中每个Key的Value根据滑动窗口中批次的reduce函数聚合得到。

join(other,numPartitions)

实现不同的Spark Streaming之间做合并操作。

support.huaweicloud.com/devg3-mrs/mrs_07_410129.html