Python安装spark的详细过程

 更新时间:2021年10月16日 13:52:17   作者:奋斗的源  
这篇文章主要介绍了Python安装spark的详细过程,本文通过图文实例代码相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

一.配置版本

Java JDK 1.8.0_111
Python 3.9.6
Spark 3.1.2
Hadoop 3.2.2

二.配置环境

 1.配置JDK

从官网下载相应JDK的版本安装,并进行环境变量的配置
(1)在系统变量新建JAVA_HOME,根据你安装的位置填写变量值

在这里插入图片描述

(2)新建CLASSPATH
变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;(注意前面所需的符号)

在这里插入图片描述

(3)点击Path

在这里插入图片描述

在其中进行新建:%JAVA_HOME%\bin

在这里插入图片描述

(4)配置好后进行确定
(5)验证,打开cmd,输入java -version和javac进行验证

在这里插入图片描述
在这里插入图片描述

此上说明jdk环境变量配置成功

2.配置Spark

(1)下载安装:
Spark官网spark-3.1.2-bin-hadoop3.2下载地址

在这里插入图片描述

(2)解压,配置环境

在这里插入图片描述

(3)点击Path,进行新建:%SPARK_HOME%\bin,并确认
(4)验证,cmd中输入pyspark

在这里插入图片描述

这里提醒我们要安装Hadoop

3.配置Hadoop

(1)下载:
Hadoop官网Hadoop 3.2.2下载地址

在这里插入图片描述

(2)解压,配置环境

在这里插入图片描述

注意:解压文件后,bin文件夹中可能没有以下两个文件:

在这里插入图片描述

下载地址:https://github.com/cdarlint/winutils
配置环境变量CLASSPATH:%HADOOP_HOME%\bin\winutils.exe
(3)点击Path,进行新建:%HADOOP_HOME%\bin,并确认
(4)验证,cmd中输入pyspark

在这里插入图片描述

由上可以看出spark能运行成功,但是会出现如下警告:

WARN ProcfsMetricsGetter: Exception when trying to compute pagesize, as a result reporting of ProcessTree metrics is stopped

这里因为spark为3.x版本有相关改动,使用spar2.4.6版本不会出现这样的问题。
不改版本解决方式(因是警告,未尝试):
方式一:解决方法一
方式二:解决方法二

三.Pycharm配置spark

(1)Run–>Edit Configurations

在这里插入图片描述

(2)对Environment Variables进行配置

在这里插入图片描述

(3)File–>Settings–>Project Structure–>Add Content Root
找到spark-3.1.2-bin-hadoop3.2\python\lib下两个包进行添加

在这里插入图片描述

选择结果:

在这里插入图片描述

(4)测试

# 添加此代码,进行spark初始化
import findspark

findspark.init()


from datetime import datetime, date

from pyspark.sql import SparkSession

spark = SparkSession.builder.getOrCreate()

rdd = spark.sparkContext.parallelize([
    (1, 2., 'string1', date(2000, 1, 1), datetime(2000, 1, 1, 12, 0)),
    (2, 3., 'string2', date(2000, 2, 1), datetime(2000, 1, 2, 12, 0)),
    (3, 4., 'string3', date(2000, 3, 1), datetime(2000, 1, 3, 12, 0))
])
df = spark.createDataFrame(rdd, schema=['a', 'b', 'c', 'd', 'e'])
df.show()

运行结果:

在这里插入图片描述

四.使用anconda中python环境配置spark

 1.创建虚拟环境

conda create -n pyspark_env python==3.9.6

查看环境:

conda env list

运行结果:

在这里插入图片描述

2.安装pyspark

切换到pyspark_env并进行安装pyspark

pip install pyspark

在这里插入图片描述

3.环境配置

运行上面的实例,会出现以下错误:

在这里插入图片描述

这说明我们需要配置py4j,SPARK_HOME
SPARK_HOME:

在这里插入图片描述

PYTHONPATH设置:

在这里插入图片描述

HADOOP_HOME设置:

在这里插入图片描述

path中设置:

在这里插入图片描述

4.运行

在这里插入图片描述

# 添加此代码,进行spark初始化
import findspark

findspark.init()


from datetime import datetime, date

from pyspark.sql import SparkSession

spark = SparkSession.builder.getOrCreate()

rdd = spark.sparkContext.parallelize([
    (1, 2., 'string1', date(2000, 1, 1), datetime(2000, 1, 1, 12, 0)),
    (2, 3., 'string2', date(2000, 2, 1), datetime(2000, 1, 2, 12, 0)),
    (3, 4., 'string3', date(2000, 3, 1), datetime(2000, 1, 3, 12, 0))
])
df = spark.createDataFrame(rdd, schema=['a', 'b', 'c', 'd', 'e'])
df.show()

运行结果同上

到此这篇关于Python安装spark的文章就介绍到这了,更多相关Python安装spark内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Opencv识别图片颜色并绘制轮廓实现代码示例

    Opencv识别图片颜色并绘制轮廓实现代码示例

    这篇文章主要给大家介绍了关于Opencv识别图片颜色并绘制轮廓实现的相关资料,实验代码和现象展示了如何从原始图像中识别和突出显示特定颜色区域,并通过图像处理技术增强识别效果,需要的朋友可以参考下
    2024-12-12
  • python3实现单目标粒子群算法

    python3实现单目标粒子群算法

    这篇文章主要为大家详细介绍了python3实现单目标粒子群算法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-11-11
  • python 字段拆分详解

    python 字段拆分详解

    今天小编就为大家分享一篇python 字段拆分详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • python飞机大战pygame游戏之敌机出场实现方法详解

    python飞机大战pygame游戏之敌机出场实现方法详解

    这篇文章主要介绍了python飞机大战pygame游戏之敌机出场实现方法,结合实例形式详细分析了Python使用pygame模块实现飞机大战游戏中敌机出场相关实现技巧,需要的朋友可以参考下
    2019-12-12
  • 一文详解PyQt5中信号(Signal)与槽(Slot)

    一文详解PyQt5中信号(Signal)与槽(Slot)

    信号(Signal)与槽(Slot)是Qt中的核心机制,也是在PyQt编程中对象之间进行通信的机制。这篇文章主要带大家了解一下信号(Signal)与槽(Slot)的使用,需要的可以参考一下
    2022-12-12
  • python爬取王者荣耀全皮肤的简单实现代码

    python爬取王者荣耀全皮肤的简单实现代码

    在本篇文章里小编给大家分享的是一篇关于16行python代码 爬取王者荣耀全皮肤的知识点内容,有兴趣的朋友们学习下。
    2020-01-01
  • numpy排序与集合运算用法示例

    numpy排序与集合运算用法示例

    这篇文章主要介绍了numpy排序与集合运算用法示例,具有一定借鉴价值,需要的朋友可以参考下。
    2017-12-12
  • python中常见的运算符及用法实例

    python中常见的运算符及用法实例

    运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算,下面这篇文章主要给大家介绍了关于python中常见的运算符及用法的相关资料,需要的朋友可以参考下
    2022-03-03
  • Python asyncio异步编程简单实现示例

    Python asyncio异步编程简单实现示例

    本文主要介绍了Python asyncio异步编程简单实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01
  • 关于opencv读取和写入路径有汉字的处理方式

    关于opencv读取和写入路径有汉字的处理方式

    这篇文章主要介绍了关于opencv读取和写入路径有汉字的处理方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-07-07

最新评论