重拾Spark 之day02--Spark开发环境搭建

这里就不详细讲解Hadoop集群以及Spark集群怎么搭建。这里是搭建Windows 10系统本地开发环境,可以编写Spark测试案例。

1. Spark开发环境搭建

1.1 安装jdk

我选择的版本是jdk1.8.0_111
在这里插入图片描述
双击安装,按提示安装完成后打开cmd
运行java -version
在这里插入图片描述
如图所示,安装成功。

1.2 安装IntelliJ IDEA

在官网下载安装包,点击下载
在这里插入图片描述
注册码进这里http://idea.lanyus.com/
使用前请将“0.0.0.0 account.jetbrains.com”添加到hosts文件中
以管理员身份运行cmd, 然后运行

echo 0.0.0.0 account.jetbrains.com >> C:\Windows\System32\drivers\etc\hosts

然后用获取到的注册码激活idea
安装成功在这里插入图片描述安装Scala插件 Configure -> Plugins
在这里插入图片描述
搜索并安装Scala 插件, 如果搜索不出就点击这里下载手动安装

1.3 安装Scala

这里我们后面会安装Spark2.4.0, 所以这里选择安装Scala2.12。
去官网下载对应版本的Scala,点击这里下载
在这里插入图片描述
双击按照提示安装成功
注意安装目录不能有空格,例如C:\Program Files (x86)

1.4 安装Python

在官网下载最新版Python即可,或者点击这里下载
注意:要把python配置进path环境变量里面。

1.5 安装Spark

官网下载Spark2.4的包,或点击这里直接下载
在这里插入图片描述

Spark 要在Windows本地运行,需要Hadoop目录和winutils.exe
链接:https://pan.baidu.com/s/1Ou_1YRVhqJCTiZ7CJXvR6g 密码:cags
解压之后新建HADOOP_HOME环境变量
在这里插入图片描述
把Hdoop和Spark增加到path环境变量里面
在这里插入图片描述
好了,一切准备就绪,打开cmd执行spark-shell
在这里插入图片描述
在spark-shell里面已经可以写spark程序了。

1.6 idea 新建Spark项目

新建maven项目
在这里插入图片描述
然后再新加两个maven的module,其中Scala-demo这个module要加上Scala Framework Support
在这里插入图片描述
三个项目的pom文件如下
spark-demo

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.nick</groupId>
    <artifactId>spark-demo</artifactId>
    <packaging>pom</packaging>
    <version>1.0-SNAPSHOT</version>

    <modules>
        <module>java-demo</module>
        <module>scala-demo</module>
    </modules>

    <properties>
        <scala.version>2.11</scala.version>
        <spark.version>2.4.0</spark.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-core_${scala.version}</artifactId>
            <version>${spark.version}</version>
        </dependency>
    </dependencies>

</project>

scala-demo

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>spark-demo</artifactId>
        <groupId>com.nick</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>scala-demo</artifactId>


</project>

java-demo

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>spark-demo</artifactId>
        <groupId>com.nick</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>java-demo</artifactId>


    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.3.2</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>


</project>

现在新建个Java的sparkdemo
SparkDemo4J.java

package com.nick;

import org.apache.spark.SparkConf;
import org.apache.spark.api.java.JavaRDD;
import org.apache.spark.api.java.JavaSparkContext;

import java.util.Arrays;
import java.util.List;

public class SparkDemo4J {
    public static void main(String[] args) {
        SparkConf conf = new SparkConf().setAppName("javaTest").setMaster("local[*]");
        JavaSparkContext jsc = new JavaSparkContext(conf);
        List<Integer> ints = Arrays.asList(1, 2, 3, 4, 5, 6);
        JavaRDD<Integer> rdd = jsc.parallelize(ints);
        JavaRDD<Integer> rdd1 = rdd.map(i -> i * 100); // 每个元素乘以一百倍
        rdd1.foreach(i -> System.out.println("i = " + i));
    }
}

运行结果
在这里插入图片描述

再新建个Scala版本的SparkDemo
SparkDemo4S.scala

package com.nick

import org.apache.spark.{SparkConf, SparkContext}

object SparkDemo4S {
  def main(args: Array[String]): Unit = {
    val conf = new SparkConf().setAppName("scalaTest").setMaster("local[*]")
    val sc = SparkContext.getOrCreate(conf)
    val rdd = sc.parallelize(1 to 6)
    rdd.map(_*100).foreach(println)
  }
}

运行结果
在这里插入图片描述
好了,一个Spark开发环境终于搭建好了,可以在这个项目中测试各个Spark算子的用发了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值