当我使用火花流时,我真的不理解变换操作,这是我的代码:
val conf = new SparkConf().setAppName("streaming").setMaster("local[4]")
val ssc = new StreamingContext(conf, Seconds(1))
val mDstream =
ssc
.socketTextStream(args(0), 9999).flatMap(x => x.split(" "))
.map((_, 1))
.reduceByKeyAndWindow((a: Int, b: Int) => (a + b), Seconds(10), Seconds(3))
.transform(rdd => {
rdd.sortBy(_._2, false)
})
我想知道mDstream中有多少个RDD? 感谢!
答案 0 :(得分:1)
transform
是一种在驱动程序端运行的方法,它是如何将RDD
作为其输入参数。请注意,排序仍将在RDD
内的并行foreach分区中运行。运行流媒体作业的单个作业中将有一个RDD
。