消费socket代码逻辑
object SparkStreaming01_WordCount {
def main(args: Array[String]): Unit = {
//此处的local必须大于1才能生效
//Spark配置对象
val sparkConf = new SparkConf().setAppName("SparkStreaming01_WordCount").setMaster("local[2]");
//实时数据分析环境对象
//采集周期:以指定的时间为周期采集实时数据
val streamingContext = new StreamingContext(sparkConf, Seconds(3));
val textStream: ReceiverInputDStream[String] = streamingContext.socketTextStream("localhost", 9999)
val result: DStream[(String, Int)] = textStream.flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_)
result.print();
streamingContext.start();
streamingContext.awaitTermination();
}
}
生产socket数据代码逻辑---java
public static void main(String[] args) throws Exception {
ServerSocket serverSocket = new ServerSocket(9999);
Socket socket = serverSocket