Spark Streaming监听HDFS文件(Spark-shell)

立山  金牌会员 | 2024-11-4 10:35:33 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 863|帖子 863|积分 2589

需求:编写程序利用Spark Streaming 监控HDFS 目录/input目录下的文件,并对上传的文件进行词频统计。

首先,linux中必要有netcat,来实现监听功能,有的linux会自带这个软件,可以用下面的下令测试一下,如果不报错就没题目,Ctrl+z可以退出
  1. nc -l 9999
复制代码
没有netcat的可以用这个来下载,如果下载失败应该是镜像设置题目,报错信息复制粘贴欣赏器照着改一下就好了
  1. sudo yum install nc –y
复制代码
登录Linux系统后,启动spark-shell。进入spark-shell以后,就已经获得了一个默认的SparkConext,也就是sc。因此,可以采用如下方式来创建StreamingContext对象:
  1. import org.apache.spark.streaming._
  2. val ssc = new StreamingContext(sc,Seconds(1))
复制代码


设置了20s查抄一次
  1. import org.apache.spark.streaming._
  2. val ssc = new StreamingContext(sc,Seconds(20))
  3. val lines = ssc.textFileStream("hdfs://192.168.88.161:8020/input")
  4. val words = lines.flatMap(_.split(" "))
  5. val wordCounts = words.map(x => (x,1)).reduceByKey(_ + _)
  6. wordCounts.print()
  7. ssc.start()
复制代码
新开一个linux终端窗口,往HDFS内里传一个文件,这是内容


回到了之前的Spark-Shell窗口,看到了结果,非常的简朴

退出监听(感觉不好用)
  1. ssc.awaitTermination()
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

立山

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表