大数据学习
bigdata learning
Toggle navigation
大数据学习
主页
openGauss数据库
Flume
MongoDB
Hadoop
数据库实验
Kafka
Zookeeper
Hbase
Manual
Spark
Neo4j
InfluxDB
RabbitMQ
Flink
About Me
归档
标签
04-Spark-Streaming
无
2023-04-24 13:04:29
26
0
0
bigdata
# Spark Streaming 流计算除了使用 [Storm](http://dblab.xmu.edu.cn/blog/install-storm/) 框架,使用 Spark Streaming 也是一个很好的选择。基于 Spark Streaming,可以方便地构建可拓展、高容错的流计算应用程序。Spark Streaming 使用 Spark API 进行流计算,这意味着在 Spark 上进行流处理与批处理的方式一样。因此,你可以复用批处理的代码,使用 Spark Streaming 构建强大的交互式应用程序,而不仅仅是用于分析数据。 下面以一个简单的 Spark Streaming 示例(基于流的单词统计)来演示一下 Spark Streaming:本地服务器通过 TCP 接收文本数据,实时输出单词统计结果。该部分内容主要参考了 [Spark Streaming 编程指南](http://spark.apache.org/docs/latest/streaming-programming-guide.html)。 运行该示例需要 Netcat(在网络上通过 TCP 或 UDP 读写数据),CentOS 6.x 系统中默认没有安装,经过测试,如果通过 yum 直接安装,运行时会有 “nc: Protocol not available” 的错误,需要下载[较低版本的 nc](http://sourceforge.net/projects/netcat/files/netcat/0.6.1/) 才能正常使用。我们选择 Netcat 0.6.1 版本,在终端中运行如下命令进行安装: ```shell $ wget http://downloads.sourceforge.net/project/netcat/netcat/0.6.1/netcat-0.6.1-1.i386.rpm -O ~/netcat-0.6.1-1.i386.rpm # 下载 $ sudo rpm -iUv ~/netcat-0.6.1-1.i386.rpm # 安装 ``` 安装好 NetCat 之后,使用如下命令建立本地数据服务,监听 TCP 端口 9999: ```shell $ # 记为终端 1 $ nc -l -p 9999 ``` 启动后,该端口就被占用了,需要开启另一个终端运行示例程序,执行如下命令: ```shell $ # 需要另外开启一个终端,记为终端 2,然后运行如下命令 $ /usr/local/spark/bin/run-example streaming.NetworkWordCount localhost 9999 ``` 接着在终端 1 中输入文本,在终端 2 中就可以实时看到单词统计结果了。 Spark Streaming 的内容较多,本教程就简单介绍到这,更详细的内容可查看[官网教程](http://spark.apache.org/docs/latest/streaming-programming-guide.html)。最后需要关掉终端 2,并按 ctrl+c 退出 终端 1 的 Netcat。
上一篇:
04-Neo4j-MATCH 命令
下一篇:
04-Zookeeper-Java客户端搭建
文档导航