1 之前已经搭建好hadoop和spark集群
2 练习使用sparkStreaming对文本单词计数
2.1 首先启动集群
这是hadoop集群监控页面:
这是spark监控页面:
2.2 在hdfs上创建文件夹/test/tmp,用于存放待计数的文件
创建后的hdfs系统如下:
2.3 在客户端/app/hadoop/下有一个待计数的文件code,文件内容如下:
3 登陆spark-shell
3.1 启动spark-shell
3.2 导入用到的包:
3.3 创建一个sparkStreaming对象:
3.4 Create a DStream lines and calculate the word count within a batch interval
val lines = ssc.textFileStream("/test/tmp")
val words = lines.flatMap(_.split(" "))
val wordCounts = words.map(x => (x, 1)).reduceByKey(_ + _)
wordCounts.print()
ssc.start()
val words = lines.flatMap(_.split(" "))
val wordCounts = words.map(x => (x, 1)).reduceByKey(_ + _)
wordCounts.print()
ssc.start()
此时,控制台不断打印:
3.5 另外开一个终端,将之前准备的code文件上传到hdfs
3.6 可以看到此时scala控制台打印:
spark WEB UI 监控可以看到: