美文网首页Big Data
idea + spark的实现

idea + spark的实现

作者: 盗梦者_56f2 | 来源:发表于2018-04-17 20:21 被阅读33次

上一篇博文主要介绍了在Windows上用pycharm实现开发spark的python程序,这次我们就介绍一下用idea这个IDE来开发spark的scala程序。scala这门语言呢,毕竟spark就是用scala开发的,所以我们还是有必要学习的!网上的学习资料比较少,我就给初学者推荐一本《Scala编程》这本书,比较浅显易懂,如果你会java的话,那学这门语言就更容易了,大家可以看看。

0. 下载

0.0. 下载idea:
这就很简单了,网上一大堆,大家照着搞就OK了,网址是: https://www.jetbrains.com/idea/download/#section=windows
idea和pycharm是同一家公司的产品。
0.2. 下载spark:
大家去官网上去下就OK了。
0.1. 下载hadoop:
同样的去官网下载。当然要和spark要求的版本一致。
0.3. 下载jdk:
jdk相信大家的电脑早就有了。应该是1.8+的。

1. 安装配置idea

1.1. 安装就不说了,网上教程很多。
1.2. 配置我们就有这么几个:
1.2.0 因为idea默认是不支持scala开发的,我们就需要下载scala插件。
点击右上角的File => 点击Settings => 点击Plugins => Install JetBrains Plugin => 在搜索框键入scala,点击下载就可以了(因为我已经下载过了,所以这里显示的是update)。

1.2.1 接下来我们就创建一个scala项目。
点击File => New => 点击Project => 点击scala => 选择IDEA => 点击Next。接下来就填写项目名字、项目位置、JDK、scala SDK,点击Finish就ok了。如果没有Scala SDK可以点击Create 选择或者下载一个就可以了。


我们看到已经有相应的目录已经被创建了。我们需要在创建一些目录。
再次点击File => 点击Project Structure就会弹出下面这个框。

我们选择Modules => 右击scr目录(同时取消Sources选项,目录就变成灰色的,不再是蓝色的) =>点击New Folder之后我们在出现的框中写上目录的名字为main => main目录就被创建出来了,我们右击main目录再创建一个目录名字为scala(并选择scala目录为Sources,目录颜色变成蓝色),最后我们点击OK就好了。
接下来我们右击刚才创建的scala目录 => New => 点击scala class ,在弹出来的框中name填写SparkPi,kind选择Object点击OK就好了。
我们把E:\spark-2.2.1-bin-hadoop2.7\examples\src\main\scala\org\apache\spark\examples目录下的SparkPi.scala 脚本的代码拷贝到我们刚才创建的SparkPi.scala文件中。
现在我们再导入我们的spark包下的jars文件。这样来做:
在上一幅图左边我们选择Libraries => 点击蓝色的+符号 =>点击java,之后我们把选择路径把spark包下jars包导入进来。我们需要再导入scala SDK,同样的我们点击加号,选择scala SDK 选择sdk 版本最后点击Apply
和ok就好了。如果版本不对的话可能就会报如下的错Exception in thread "main" java.lang.NoSuchMethodError: scala.Predef$.refArrayOps([Ljava/lang/Object;)Lscala/collection/mutable/ArrayOps;

我们还需要配置一些东西。
点击左上角的倒三角符号 => 点击Edit Configurations会跳出下面这个框。

我们需要填写的地方是:在VM options 写上 -Dspark.master=local不然的话就会报如下的错误:
Exception in thread "main" org.apache.spark.SparkException: A master URL must be set in your configuration
在Environment variables 处写上我们的SPARK_HOME和HADOOP_HOME的路径然后点击Apply和ok就全部完成了。如果我们E:\hadoop-2.7.3\bin目录下缺少winutils.exe就会报缺少这个文件的错。就像这样:
java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries.我们需要做的就是下载一个这样的文件放在bin目录下就可以了,网上有很多,大家百度一下下载下来就可以了。如果大家遇见其他的错误的话把错误信息百度一下就可以解决了。
我们运行程序就可以看见结果了。

完美!

END

相关文章

网友评论

本文标题:idea + spark的实现

本文链接:https://www.haomeiwen.com/subject/rkjpkftx.html