import org.apache.spark.SparkContext import org.apache.spark.SparkConf import org.apache.spark.SparkContext._ import org.apache.spark.streaming._ import org.apache.spark.streaming.StreamingContext._ import org.apache.spark.api.java.function._ import org.apache.spark.streaming.api._ object SparkStreamingTest { def main(args: Array[String]) { // Create a StreamingContext with a local master // Spark Streaming needs at least two working thread val ssc = new StreamingContext("local[2]", "NetworkWordCount", Seconds(1)) // Create a DStream that will connect to serverIP:serverPort, like localhost:9999 val lines = ssc.socketTextStream("localhost", 9999) // Split each line into words val words = lines.flatMap(_.split(" ")) // Count each word in each batch val pairs = words.map(word => (word, 1)) val wordCounts = pairs.reduceByKey(_ + _) // Print a few of the counts to the console wordCounts.print() // Start the computation ssc.start() // Wait for the computation to terminate ssc.awaitTermination() } }
https://spark.apache.org/docs/latest/streaming-programming-guide.html
在執行sbt run以前,在同一機器的另外一個terminal下執行nc -lk 9999html