若在idea中使用spark开发,需要windows(win7)和idea配置的有:
1.scala(这里默认jdk安装好了,跳过~)
2.hadoop
3.spark
详细如下:
1.如果在idea中使用scala开发spark,首先需要安装scala sdk,如上篇《idea中安装scala》。
2.在windows环境里(cmd)安装spark,==下面有在idea环境里配置spark~~实践发现,windows内配置spark和idea里配置spark是不一样的。
cmd环境里:
在官网上下载spark安装包,然后本地解压,再在系统环境中添加SPARK_HOME环境变量,以上步骤可具体百度。最后在命令行里输入——spark-shell,下图出现即为安装成功;
在这里遇到的一个问题是,启动spark时遇到“Unable to load native-hadoop library for your platform... using builtin-java classes where applicable”的报错,这个错误不管是在cmd中启动客户端还是在idea中运行spark,都会出现。
在cmd模式下的解决方式是:继续在本地安装hadoop,下载hadoop安装包,本地解压后配置环境变量HADOOP_HOME即可;
idea环境里:
使用maven构建java(or scala)项目,在pom中添加spark的依赖:
<repositories>
<repository>
<id>nexus-aliyun</id>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</repository>
</repositories>
<dependencies>
<!-- https://mvnrepository.com/artifact/org.apache.spark/spark-core_2.11 -->
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_2.11</artifactId>
<version>${spark.version}</version>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-sql_2.11</artifactId>
<version>${spark.version}</version>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-streaming_2.11</artifactId>
<version>${spark.version}</version>
</dependency>
</dependencies>
配置好spark的依赖,就可以运行spark程序了,但是还是会遇到和cmd启动spark时遇到的问题:“Unable to load native-hadoop library for your platform... using builtin-java classes where applicable”在idea中解决的方式就是在项目maven文件中添加对hadoop的依赖:
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-common</artifactId>
<version>2.7.0</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-hdfs</artifactId>
<version>2.7.0</version>
</dependency>
至此,再运行spark任务就不会报错了~