windows环境下使用idea搭建spark开发环境

若在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,下图出现即为安装成功;

image

在这里遇到的一个问题是,启动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任务就不会报错了~

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容