Spark Streaming监听HDFS文件(Spark-shell)
需求:编写程序利用Spark Streaming 监控HDFS 目录/input目录下的文件,并对上传的文件进行词频统计。首先,linux中必要有netcat,来实现监听功能,有的linux会自带这个软件,可以用下面的下令测试一下,如果不报错就没题目,Ctrl+z可以退出
nc -l 9999
没有netcat的可以用这个来下载,如果下载失败应该是镜像设置题目,报错信息复制粘贴欣赏器照着改一下就好了
sudo yum install nc –y
登录Linux系统后,启动spark-shell。进入spark-shell以后,就已经获得了一个默认的SparkConext,也就是sc。因此,可以采用如下方式来创建StreamingContext对象:
import org.apache.spark.streaming._
val ssc = new StreamingContext(sc,Seconds(1))https://img2024.cnblogs.com/blog/3439178/202411/3439178-20241104102626367-1547405731.png
设置了20s查抄一次
import org.apache.spark.streaming._
val ssc = new StreamingContext(sc,Seconds(20))
val lines = ssc.textFileStream("hdfs://192.168.88.161:8020/input")
val words = lines.flatMap(_.split(" "))
val wordCounts = words.map(x => (x,1)).reduceByKey(_ + _)
wordCounts.print()
ssc.start()
新开一个linux终端窗口,往HDFS内里传一个文件,这是内容
https://img2024.cnblogs.com/blog/3439178/202411/3439178-20241104103934555-967985954.png
回到了之前的Spark-Shell窗口,看到了结果,非常的简朴
https://img2024.cnblogs.com/blog/3439178/202411/3439178-20241104110516871-1939202596.png
退出监听(感觉不好用)
ssc.awaitTermination()
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]