《Spark Streaming实时流式大数据处理实战》 ——2.3.3 IDE配置

举报
华章计算机 发表于 2020/02/22 14:39:40 2020/02/22
【摘要】 本节书摘来自华章计算机《Spark Streaming实时流式大数据处理实战》 —— 书中第2章,第2.3.3节,作者是肖力涛 。

2.3.3  IDE配置

  前面提到,Spark目前已经支持了包括Java、Scala、Python和R语言在内的多种编程语言,不同的编程语言都有比较好用的IDE。当然,我们也可以直接使用Vim和Sublime等文本编辑器和插件。

  本书在Spark实战中,选择使用Scala作为示例程序,毕竟Spark的源生语言是Scala。工欲善其事,必先利其器,那么下面我们简单介绍Scala Eclipse和Maven的部署及使用(在附录A中讲解Scala时,还会提到另一个IDE Intellij)。

  熟悉Java开发的读者都知道Java的“开发神器”Eclipse,该IDE很好地集成了Java的代码提示、编译、运行等,并且提供了丰富的插件模式,使开发者能够通过安装插件的方式开发各种不同的语言,如C++、Python等。

  打开Eclipse官网,我们会发现各种版本的Eclipse,都是针对不同的语言。Eclipse官方做了一些整合优化,其中便有我们需要的Scala Eclipse,我们可以在http://scala-ide.org/上下载。下载界面如图2.7所示。

 image.png

图2.7  Scala Eclipse下载

  下载、解压并安装后(一定要预先安装好Java和Scala),便可以打开Scala Eclipse进行一些简单的尝试了。首先新建一个Scala工程,如图2.8所示。

 image.png

图2.8  新建Scala工程

  我们新建一个HellloScala的项目,如图2.9所示。

 image.png

图2.9  HelloScala项目

  可以指定项目的位置,以及一些其他设置,单击Finish按钮后会得到工程目录,如图2.10所示。

  Scala工程会将Scala和Java的jar库都引用进来,并且提供了一个src目录,我们依照Java的命名习惯新建一个Package和Scala Object,如图2.11所示。

             image.png

       图2.10  HelloScala工程目录     图2.11  新建Package和Scala Object

  这里需要说明的是,在Scala中新加了Object的抽象概念,相当于一个单例对象,基本的Scala语法会在本书附录中给出,有一定Java经验的读者如想快速上手Scala,可以参考附录内容。之后我们来写一个经典的开场白程序:

  

  package com.sparkstreaming.action.main

  object Main {

    def main(args: Array[String]) {

      // Scala打印函数为println

      println("hello scala")

    }

  }

  

  然后需要配置Scala的编译过程,在Run Configuration中,进行如下配置,如图2.12所示。

 image.png

图2.12  配置Scala编译运行

  我们需要新建一个Scala Application,然后配置工程目录及工程对应的主类,单击Run按钮便能看到Console中会出现hello scala的字样。

  以上简单熟悉了一下Scala IDE,其实在实际的开发过程中,往往会用到大量的第三方库,毕竟站在巨人的肩膀上摘苹果是通向成功的捷径。而当工程非常大的时候,就会遇到第三方jar包难于管理的问题,尤其是进行多个工程开发时,我们不得不将需要用到的jar包一次又一次地来回复制,并且会出现版本问题。

  这时候就需要用到类似Maven的项目管理及自动构建工具了。Maven是Apache下的一个顶级开源项目,利用远程库、镜像库和本地库的方式,能够帮助我们对jar包进行管理,并对整个项目进行构建。

  当然,除了Maven,还有Scala自带的SBT也可以对项目进行管理和构建,不过对于Java语系而言,Maven的使用频度和广度更加高效。笔者在使用Maven进行Scala工程项目构建时,包括Java和Scala混合构建时还是一切顺利的,这里就以Maven进行Spark Streaming实战演练,读者如果感兴趣,也可以尝试SBT方式。我们可以在官网下载最新版本的Maven:https://maven.apache.org/,下载完成后解压到相应目录,配置一下环境变量,在终端执行mvn –v,得到结果如下:

  

  $ mvn -v

  Apache Maven 3.5.0 (ff8f5e7444045639af65f6095c62210b5713f426; 2017-04-

    04T03:39:06+08:00)

  Maven home: /Users/xiaolitao/Tools/apache-maven-3.5.0

  Java version: 1.8.0_40, vendor: Oracle Corporation

  Java home: /Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/

    Home/jre

  Default locale: zh_CN, platform encoding: UTF-8

  OS name: "mac os x", version: "10.14.1", arch: "x86_64", family: "mac"

  

  表示我们已经将Maven安装成功,Maven会在用户目录建立.m2目录作为本地镜像库,用于存放曾经使用过的第三方库。如果Maven下载第三方库不顺畅,可以尝试配置第三方镜像库,这里比较偏离主题,就不再赘述了,感兴趣的读者可以到官网查看相关配置信息,在Maven安装目录的conf/setting.xml进行全局配置,或者在工程配置文件的pom.xml中进行配置。


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。