欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Spark streaming 入门实验

程序员文章站 2024-02-22 21:04:28
...

Spark Streaming 是一个基于spark的实时计算框架。详细说明参考Spark Streaming Programming Guide. 以下是编程指南WordCount例子的在spark-shell了实验记录。运行前,把spar/conf目录下的log4j.properties里的日志级别由INFO改为WARN,否则会打印太多的日志。

1. 运行 nc 模拟数据源输入

文中的命令为 nc -lk 9999 ,运行后在另一个窗口用netstat -tnlp | grep 9999 命令检查一下,如果没有输出改用nc -lk -p 9999 再试一下。

2. 运行 spark-shell

spark-shell --master spark://d-hdp-01:7077 --executor-memory 1g

在paste模式拷贝以下代码,其中ip地址根据实际情况设置,spark-shell已创建了上下文,就不用在创建上下文了。

import org.apache.spark._  
import org.apache.spark.streaming._  
import org.apache.spark.streaming.StreamingContext._  
val ssc = new StreamingContext(sc, Seconds(1))  
val lines = ssc.socketTextStream("192.1.131.205", 9999)  
  
val words = lines.flatMap(_.split(" "))  
val pairs = words.map(word => (word, 1))  
val wordCounts = pairs.reduceByKey(_ + _)  
wordCounts.print()  
  
ssc.start()             // Start the computation  
ssc.awaitTermination()  // Wait for the computation to terminate  

Spark streaming 入门实验

nc 中没有输入的的情况下

Spark streaming 入门实验

在nc中输入数据

Spark streaming 入门实验

Spark streaming 入门实验

Spark streaming 入门实验