让我们通过一步步建立信心来开始Apache Spark Streaming。 这些小步骤将为学习新技能创造所需的前进动力。 获得学习新软件开发技能的信心和动力的最快方法是执行无错误的代码。
在本文中,我们将使用Scala代码设置并运行Apache Spark Streaming。 然后,我们将有信心继续学习Apache Spark Streaming的第2部分。
不过,在开始之前,我假设您已经对Apache Spark Streaming有了一个高水平的了解,但是如果没有,那么这里是从学习Apache Spark摘要书中快速浏览两分钟的Spark Streaming (在新窗口中打开)。 。
总览
Spark附带了一些很棒的示例和方便的脚本,用于运行Streaming代码。 让我们确保您可以运行这些示例。 如果有帮助,我将截屏介绍这些步骤。 链接到以下截屏。
开箱即用地运行NetworkWordCount示例
- 在Windows上打开外壳程序或命令提示符,然后转到您的Spark根目录。
- 启动Spark Master:sbin / start-master.sh **
- 开始工作:sbin / start-slave.sh spark://todd-mcgraths-macbook-pro.local:7077
- 在端口9999上启动netcat:nc -lk 9999(*** Windows用户: https ://nmap.org/ncat/如果在Windows上运行良好,请在页面注释中告知我)
- 使用方便的运行示例脚本运行网络字数统计:bin / run-example stream.NetworkWordCount localhost 9999
** Windows用户,请作相应调整; 即sbin / start-master.cmd而不是sbin / start-master.sh
这是我执行以下步骤的屏幕截图:
建立并运行我们自己的网络
好的,那很好。 我们已经成功运行了Scala Spark Streaming NetworkWordCount示例,但是如何在Scala中运行我们自己的Spark Streaming程序呢? 让我们朝着这个目标迈出又一步。 在这一步中,我们将设置我们自己的Scala / SBT项目,编译,打包和部署修改后的NetworkWordCount。 同样,我对以下步骤进行了截屏,并提供了以下截屏的链接。
- 为新的Spark Streaming Scala项目选择或创建新目录。
- 使目录使SBT方便:src / main / scala
- 在src / main / scala目录中创建名为NetworkWordCount.scala的Scala目标代码文件
- 将SparkWord示例目录中的NetworkWordCount.scala代码复制并粘贴到上一步中创建的版本中
- 删除或注释掉包和StreamingExamples参考
- 将AppName更改为“ MyNetworkWordCount”
- 创建一个build.sbt文件(下面的源代码)
- sbt编译为冒烟测试
- 部署:〜/ Development / spark-1.5.1-bin-hadoop2.4 / bin / spark-submit –类“ NetworkWordCount” –主spark://todd-mcgraths-macbook-pro.local:7077 target / scala-2.11 /streaming-example_2.11-1.0.jar本地主机9999
- 在端口9999上启动netcat:nc -lk 9999并开始输入
- 在Spark UI中签出内容
build.sbt源
name := "streaming-example"
version := "1.0"
scalaVersion := "2.11.4"
libraryDependencies ++= Seq(
"org.apache.spark" %% "spark-core" % "1.5.1",
"org.apache.spark" %% "spark-streaming" % "1.5.1"
)
如果您观看了视频,请注意,该问题已更正为“ streaming-example”而非“ steaming-example”。
Scala的Spark Streaming第1部分结论
在这一点上,我希望我的意图能为您实现。 您是否在Scala中成功运行了两个Spark Streaming示例? 当我们继续探索第2部分中的Spark Streaming时,您会更有信心吗? 希望如此。 但是,如果您有任何疑问,请随时在下面添加评论。
翻译自: https://www.javacodegeeks.com/2016/03/apache-spark-streaming-scala-part-1-supergloo.html