- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Spark Streaming 编程指南
Overview
Spark Streaming 属于 Spark 的核心 api ,它支持高吞吐量、支持容错的实时流数据处理。
它可以接受来自 Kafka, Flume, Twitter, ZeroMQ 和 TCP Socket 的数据源,使用简单的 api 函数比
如 , , ,
map reduce join window 等操作,还可以直接使用内置的机器学习算法、图
算法包来处理数据。
它的工作流程像下面的图所示一样,接受到实时数据后,给数据分批次,然后传给 Spark Engine 处理最
后生成该批次的结果。
它支持的数据流叫 Dstream ,直接支持 Kafka 、Flume 的数据源。 Dstream 是一种连续的 RDDs ,下面
是一个例子帮助大家理解 Dstream 。
A Quick Example
// 创建 StreamingContext,1 秒一个批次
val ssc = new StreamingContext(sparkConf, Seconds(1));
// 获得一个 DStream 负责连接监听端口 :地址
val lines = ssc.socketTextStream(serverIP,serverPort);
// 对每一行数据执行 Split 操作
val words = lines.flatMap(_.split( ));
// 统计 word 的数量
val pairs = words.map(word = (word, 1));
val wordCounts = pairs.reduceByKey(_ + _);
// 输出结果
wordCounts.print();
ssc.start(); // 开始
ssc.awaitTermination(); // 计算完毕退出
具体的代码可以访问这个页面:
/apache/incubator-spark/blob/master/examples/src/main/scala/org/apa
che/spark/streaming/examples/NetworkWordCount.scala
如果已经装好 Spark 的朋友,我们可以通过下面的例子试试。
首先,启动 Netcat ,这个工具在 Unix-like 的系统都存在,是个简易的数据服务器。
使用下面这句命令来启动 Netcat :
$ nc -lk 9999
接着启动 example
$ ./bin/run-example org.apache.spark.streaming.examples.NetworkWordCountlocal
[2] localhost 9999
在 Netcat 这端输入 hello world ,看 Spark 这边的
# TERMINAL 1:
# Running Netcat
$ nc -lk 9999
hello world
...
# TERMINAL 2: RUNNING NetworkWordCount or JavaNetworkWordCount
$ ./bin/run-example org.apache.spark.streaming.examples.NetworkWordCountlocal
[2] localhost 9999
...
Time: 1357008430000 ms
(hello,1)
(world,1)
...
Basics
下面这块是如何编写代码的啦,哇咔咔!
首先我们要在 SBT 或者 Maven 工程添加以下信息:
groupId = org.apache.spark
artifactId = spark-streaming_2.10
version = 0.9.0-incubating
// 需要使用一下数据源的,还要添加相应的依赖
Source Artifact
Kafka spark-streaming-kafka_2.10
F
文档评论(0)