作家
登录

大数据分析技术与实战之Spark Streaming

作者: 来源: 2017-10-11 11:56:48 阅读 我要评论

数据流模仿器代码实现如下:

  1. package dong.spark 
  2. import java.io.{PrintWriter} 
  3. import java.net.ServerSocket 
  4. import scala.io.Source 
  5. objectSocketSimulation { 
  6. //定义随机获取整数的办法。 
  7. def index(length: Int)={ 
  8. import java.util.Random 
  9. val rdm = new Random 
  10. rdm.nextInt(length) 
  11. def main(args:Array[String]): Unit ={ 
  12. if(args.length!=3){ 
  13. /*调用数据流模仿器须要三个参数:文件路径、端标语和批处理时光距离时光(单位:毫秒)。*/ 
  14. System.err.println("Usage:<filename><port><millisecond>"
  15. System.exit(1) 
  16. //获取指定文件总的行数。 
  17. val filename = args(0) 
  18. val lines = Source.fromFile(filename).getLines().toList 
  19. val filerow=lines.length 
  20. //指定监听参数args(1)指定的端口,当外部法度榜样请求时建立连接。 
  21. val listener =new ServerSocket(args(1).toInt) 
  22. while(true){ 
  23. val socket = listener.accept() 
  24. new Thread(){ 
  25. override def run={ 
  26. println("Got client connected from:"+socket.getInetAddress) 
  27. val out = new PrintWriter(socket.getOutputStream(),true
  28. while(true){ 
  29. Thread.sleep(args(2).toLong) 
  30. //当该端口接收请求时,随机获取某行数据发送给对方。 
  31. val content= lines(index(filerow)) 
  32. println(content) 
  33. out.write(content+'\n'
  34. out.flush() 
  35. socket.close() 
  36. }.start() 
  1. package dong.spark 
  2. import org.apache.spark.streaming.{Milliseconds,Seconds, StreamingContext} 
  3. import org.apache.spark.streaming.StreamingContext._ 
  4. import org.apache.spark.storage.StorageLevel 
  5. object NetworkWordCount { 
  6. def main (args:Array[String]) ={ 
  7. //以local模式运行,并设定master节点工作线程数为2。 
  8. val conf=new SparkConf().setAppName("NetworkWordCount"). 
  9. setMaster("local[2]"
  10. val sc=new SparkContext(conf) 
  11. val ssc=new StreamingContext(sc, Seconds(5)) 
  12. /*经由过程socketTextStream获取指定节点指定端口的数据创建DStream,并保存在内存和硬盘中,个中节点与端口分别对应参数args(0)和args(1)。*/ 
  13.  
  14. val lines=ssc.socketTextStream(args(0), 
  15. args(1).toInt, 
  16. StorageLevel.MEMORY_AND_DISK_SER) 

  17.   推荐阅读

      业界关注的NFV,近况如何?

    实现了功能虚拟化的收集可以或许使通信办事供给商快速供给办事、分析和主动化的收集,加快新办事投向市场的周期,并有效应用数据中间的通用平台。收集功能虚拟化旨在赞助电信行业加快立异>>>详细阅读


    本文标题:大数据分析技术与实战之Spark Streaming

    地址:http://www.17bianji.com/lsqh/37783.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)