• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

spark环境搭建window篇

武飞扬头像
邱可爱
帮助1

安装JDK

这里我不做展示了,老三步:下载、解压、环境变量配置。主要讲解Spark安装时的一些问题。

安装hadoop

这里有人会问为什么要先安装hadoop,那么可以先看下面,试着先安装Spark,运行之后再来看看。

  • 首先进入hadoop下载地址
    学新通

  • 解压hadoop到指定目录,记住这个目录,他是后面的HADOOP_HOME
    学新通

  • 配置环境变量

    • 首先添加HADOOP_HOME
      学新通

    • 之后在Path中添加环境变量
      学新通

  • 运行hadoop version
    学新通

安装Spark

  • 首先进入Spark下载地址
    学新通

  • 解压到指定目录,记住这个目录,这是后面的SPARK_HOME
    学新通

  • 配置环境变量

    • 首先添加SPARK_HOME
      学新通
    • 在Path中添加指定的环境变量。
      学新通-

安装过程出现的问题

问题一

在安装完Spark之后,我们打开CMD运行如下命令,查看是否配置环境变量成功。
学新通
发现出现了报错Missing Python executable 'python', defaulting to...

错误排查

  • 说缺少python环境,那么我们首先检查python是否已经安装。
    学新通
  • 如果环境没问题,再回到spark安装时的环境变量SPARK_HOME是否漏了配置。
    学新通
    添加之后成功解决。

问题二

安装完Spark之后,启动发现出现如下警告:Did not find winutils.exe: java.io.FileNotFoundException: java.io.FileNotFoundException: HADOOP_HOME and hadoop.h

错误排查

明确说了缺少Hadoop,回到上面老老实实安装hadoop.

问题三

在控制台中输入hadoop version后提示Error: JAVA_HOME is incorrectly set. Please update....

错误排查

明显是JAVA_HOME配置问题

  • 查看Java是否已经安装
    学新通
    如果没有安装的话,就先去安装Java环境
  • 查看JAVA_HOME路径是不是有空格,如果有空格,就把JDK移到一个没有空格的路径下,重新配置环境变量。
    学新通
    成功解决。

问题四

在安装了hadoop,解决了JDK路径等问题之后,重新运行spark-shell,出现了如下报错Did not find winutils.exe: {} java.io.FileNotFoundException: Cou....

错误排查

缺少了winutils.exe,这里需要大家下载winutils.exe,并且该文件在bin目录下噢~

学新通

Maven整合

导入依赖

    <dependencies>
        <!-- https://mvnrepository.com/artifact/org.apache.spark/spark-core -->
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-core_2.12</artifactId>
            <version>3.3.1</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.apache.spark/spark-sql -->
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-sql_2.12</artifactId>
            <version>3.3.1</version>
        </dependency>

    </dependencies>

编辑代码

package com.nju.demo01;

import org.apache.spark.api.java.JavaPairRDD;
import org.apache.spark.api.java.JavaRDD;
import org.apache.spark.sql.SparkSession;
import scala.Tuple2;

import java.util.Arrays;
import java.util.List;
import java.util.regex.Pattern;

/**
 * @date:2022/11/1 23:29
 * @author: qyl
 */
public class JavaWordCount {
    private static final Pattern SPACE = Pattern.compile(" ");

    public static void main(String[] args) {
        String path = JavaWordCount.class.getClassLoader().getResource("words.txt").getPath();
        SparkSession spark = SparkSession.builder().appName("JavaWordCount").getOrCreate();

        JavaRDD<String> lines = spark.read().textFile(path).javaRDD();

        JavaRDD<String> words = lines.flatMap(s -> Arrays.asList(SPACE.split(s)).iterator());

        JavaPairRDD<String, Integer> ones = words.mapToPair(s -> new Tuple2<>(s, 1));

        JavaPairRDD<String, Integer> counts = ones.reduceByKey(Integer::sum);

        List<Tuple2<String, Integer>> output = counts.collect();

        for (Tuple2<?, ?> tuple2 : output) {
            System.out.println(tuple2._1()   ": "   tuple2._2());
        }
        spark.stop();

    }
}

学新通

设置虚拟机参数

学新通

运行结果

学新通

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhiegbai
系列文章
更多 icon
同类精品
更多 icon
继续加载