package cn.kgc.day0819.test03
import org.apache.spark.SparkConf
import org.apache.spark.streaming.dstream.DStream
import org.apache.spark.streaming.{Seconds, StreamingContext}
object TransformDemo extends App {
val conf=new SparkConf().setAppName(“transformDemo”).setMaster(“local[*]”)
val ssc=new StreamingContext(conf,Seconds(5))
val ds1=ssc.socketTextStream("hadoop101",9999)
//TODO 使用transform
println(“打印一句话 Driver 只会运行一次”)
val transformDS= ds1.transform(
rdd => {
println(“map算子外面,运行在Driver端,执行N次,流的批次”)
rdd.map(
x=>{
println(“算子里面的操作运行在executor端,每行运行一次 n次”)
x*3
}
)
}
)
transformDS.print()
// println(“map算子外面,运行在Driver端,执行1次,流的批次”)
// val wordcounts= ds1.map(
// x=>{
// println(“算子里面的操作运行在executor端,每行运行一次 n次”)
// x*3
// }
// )
//
// wordcounts.print()
ssc.start()
ssc.awaitTermination()
}