首页 > 其他 > 详细

大数据之sparkStreming流式处理接受socket数据,实现单词统计

时间:2020-06-09 21:11:36      阅读:43      评论:0      收藏:0      [点我收藏+]

import org.apache.spark.streaming.{Seconds, StreamingContext}
import org.apache.spark.{SparkConf, SparkContext}

/**
* sparkStreming流式处理接受socket数据,实现单词统计
*/
object SparkStreamingTCP {

def main(args: Array[String]): Unit = {
//配置sparkConf参数
//一个线程进行计算,一个线程接收数据
val sparkConf = new SparkConf().setAppName("SparkStreamingTCP").setMaster("local[2]")
//构建sparkContext对象
val sc = new SparkContext(sparkConf)
//设置日志输出级别
sc.setLogLevel("WARN")
//构建StreamingContext对象,每个批处理的时间间隔
//5s:时间间隔(一个批次)
val scc = new StreamingContext(sc,Seconds(5))
//注册一个监听的IP地址和端口 用来收集数据
val lines = scc.socketTextStream("wanghy",9999)
//切分每一行记录
val words = lines.flatMap(_.split(" "))
//每个单词记为1
val wordAndOne = words.map((_,1))
//分组聚合
val result = wordAndOne.reduceByKey(_+_)
//打印数据
result.print()


scc.start()
scc.awaitTermination()
}
}

大数据之sparkStreming流式处理接受socket数据,实现单词统计

原文:https://www.cnblogs.com/whyuan/p/13080590.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!