前面一篇简书已经介绍了Spark环境的搭建,接下来就整理一下如何使用Idea创建一个Spark程序,并让它运行在集群上。
Spark是由Scala语言开发得到的,为了更好的兼容性,我采用scala语言开发,Idea相对集成scala插件更加方便,所以开发工具采用Idea。
1.首先去Idea的官网下载community版本的ideaIC-2018.1.5.tar.gz,解压文件夹,要记着Idea的版本,后面要下载与其Idea版本对应的scala-intellij-bin-2018.1.10.zip插件,这样才可以创建scala项目。
2.解压deaIC-2018.1.5.tar.gz文件得到idea-IC-181.5281.24文件,然后进入该文件下bin文件夹下,运行sh idea.sh,然后一路有些选择默认到启动Idea。
3.然后点击新建项目,发现没有scala插件,所以点击file-Settings,选中Plugins,在搜索框搜索scala,这时会发现边上会出现与之版本相对应的scala插件,如果直接安装可能会比较慢,于是我们把它提供的网址打开下载到本地,并把scala-intellij-bin-2018.1.10.zip放入到本地的/home/Idea/idea-IC-181.5281.24/plugins/文件夹下,然后再重新选择Install plugin from disk,这样就可以创建scala项目了。
4.点击file-new project-scala-IDEA,点击next,选择项目的路径,自定义安装Jdk版本,自定义安装的scala版本,然后finish
5.点击项目右击new-moudle-scala-scala,点击next,选择模块的路径,自定义安装的JDK版本,自定义安装的scala版本,然后finish
6.点击file-project structure,点击modules,Sources,将默认的Sources Floders删掉,在src文件夹下建立一个main文件夹,则默认的Sources Floders就改成/src/main
7.点击Dependencies,点击+号,Jars or directories……,将Spark下的jars文件夹内的所有jar包导入项目中。
8.新建测试scala文件,里面有main函数进行测试。
9.写完程序打包成jar包放到集群上,则点击file-project structure,点击Artifacts,点击+号,再点击Jar,再点击from modules with dependencies……
10.填写MainClass,点击OK,其他默认(extract to target jar),
11.删除Output Layout下的所有Extracted依赖Jar包,并且指定Output Directory文件路径。点击OK。
12.回到Idea主页,点击Build-Build Artifacts,编译完成后可以看到编译jar包。
13.进入编译的jar包的目录,运行$SPARK_HOME/bin/spark-submit --master spark://master:7077 --class WordCount --executor-memory 1g ScalaOneProject.jar即可看到运行成功的结果。
这是一个统计一个文件里面每个词出现的次数的程序。
网友评论