MAPREDUCE服务 MRS-Spark Python API接口介绍:Spark Streaming常用接口
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特有的一些方法。
方法 |
说明 |
---|---|
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之间做合并操作。 |