import org.apache.spark._
import org.apache.spark.streaming._ /**
* Created by code-pc on 16/3/14.
*/
object Pi { def functionToCreateContext():StreamingContext={ def updateStateFunction(newValues: Seq[Int], runningCount: Option[Int]): Option[Int] = {
Some(runningCount.getOrElse(0) + newValues.sum)
} val conf = new SparkConf().setMaster("local[5]").setAppName("AndrzejApp")
val ssc = new StreamingContext(conf, Seconds(4))
ssc.checkpoint("/tmp") val line = ssc.socketTextStream("127.0.0.1", 9997)
val words=line.flatMap(_.split(" ")) val pairs=words.map((_,1)) val retDS = pairs.updateStateByKey[Int](updateStateFunction _) //retDS.repartition(1).saveAsTextFiles("/tmp/out")
retDS.print() ssc
} def main(args: Array[String]) { val context=StreamingContext.getOrCreate("/tmp",functionToCreateContext) context.start()
context.awaitTermination()
}
}

tcp: nc -lk 9997

If the checkpointDirectory exists, then the context will be recreated from the checkpoint data.

05-11 14:38