IDEA Spark Streaming 操作(套接字流)-----make socket数据源
Posted soyosuyang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IDEA Spark Streaming 操作(套接字流)-----make socket数据源相关的知识,希望对你有一定的参考价值。
import java.io.PrintWriter import java.net.ServerSocket import scala.io.Source object DStream_makeSocket { def main(args: Array[String]): Unit = { val file="/home/soyo/桌面/spark编程测试数据/1.txt" val lines=Source.fromFile(file).getLines().toList lines.foreach(println) val rowCount=lines.length //行数 val listen= new ServerSocket(6667) while(true) { val socket=listen.accept() val thread=new Thread(){ override def run={ println("客户端地址为:"+socket.getInetAddress) val send=new PrintWriter(socket.getOutputStream,true) while (true) { Thread.sleep(1000) //每隔1秒发送一次数据 val content=lines(index(rowCount)) println("******") println(content) send.write(content+"\n") send.flush() } socket.close() } } thread.start() } } def index(length:Int):Int ={ val rd=new java.util.Random() rd.nextInt(length) //随机获取0-length 之间的一个数 } }
功能:随机读取1.txt文件内的一行 发送到6667端口
备注:需要同时运行监听程序
以上是关于IDEA Spark Streaming 操作(套接字流)-----make socket数据源的主要内容,如果未能解决你的问题,请参考以下文章
IDEA Spark Streaming 操作(套接字流)-----make socket数据源
如何在idea里面直接运行spark streaming程序
关于IDEA开发环境下的Kafka+Spark Streaming的classpath配置方式