spark环境搭建window篇
安装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
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
excel下划线不显示怎么办
PHP中文网 06-23 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
微信运动停用后别人还能看到步数吗
PHP中文网 07-22 -
excel打印预览压线压字怎么办
PHP中文网 06-22