window10搭建pyspark的两种方法(基于spark-3.0.0-bin-hadoop2)

window10搭建pyspark的两种方法(基于spark-3.0.0-bin-hadoop2)

最最简便的方法就是直接pip install pyspark

如果安装出现timeout,可以下载pyspark-3.0.0.tar,然后离线安装

方法:cd进入pyspark-3.0.0.tar解压的目录,里面有个setup.py

然后运行命令:python setup.py install, 等待安装完成,所以的环境问题都一次帮你解决完。

-----------------------------------------下面是笨方法---------------------------------------------------------------

一、组件版本说明

Java JDK:jdk-8u261-windows-x64

spark-3.0.0-bin-hadoop2.7

hadoop-2.7.7

scala-2.13.3

winutils-master(GitHub上下载,然后将相应hadoop版本目录下的winutils.exe拷贝到spark相应目录,见下面详细部分)

Anaconda3(安装Python3.8)

1、JDK安装

下载安装后配置环境变量:

配置环境变量的方法为电脑[右键]——>属性——>环境变量,编辑环境变量方法见下图

记得配置完环境变量,一定要重启cmd,环境变量才生效。

cmd中输入exit退出,然后command+r键快速启动cmd。

而且cmd中用set命令设置的环境变量只是对当前cmd有效,退出重启后无效。

因此采用下面的方式永久设置环境变量,这个和GUI设置系统环境变量是一样。

设置完后最好是重启系统。

可以先删除环境变量:

wmic ENVIRONMENT where "name='JAVA_HOME'" delete

setx JAVA_HOME D:\installed\java

setx命令是永久生效的,而且最好也是重启电脑。

2、配置Scala

下载地址:

https://www.scala-lang.org/download/2.13.3.html

安装完成后,配置环境变量

3、安装Spark

下载地址:

http://spark.apache.org/downloads.html

有的浏览器在点击下拉框后会出现问题,但是不要担心,一直往下拉,点击 *spark release archives*

我下载的是:spark-3.0.0-bin-hadoop2.7-hive1.2

注意:spark的版本很重要,这个版本都试了两遍才成功。

解压后配置环境变量:

  1. 网上搜索了下资料发现原来是路径上包含了一个空格
  2. 用路径替代符

C:\PROGRA~1\Java\jdk1.8.0_91

PROGRA~1  ===== C:\Program Files 目录的dos文件名模式下的缩写

长于8个字符的文件名和文件夹名,都被简化成前面6个有效字符,后面~1,有重名的就 ~2,~3,

  1. 用引号括起来

"C:\Program Files"\Java\jdk1.8.0_91

5、安装Python3.8

安装好anaconda3后,这个就直接安装好了。如果在终端发现输入Python后,没有进入交互模式,则是没有设置anaconda3的环境变量,则添加环境变量和path路径就OK了,这下面三个都要添加。

接着在系统变量中添加:

D:\softwares\Anaconda\anaconda;D:\softwares\Anaconda\anaconda\Scripts;D:\softwares\Anaconda\anaconda\Library\bin;

6、把winutils-master的bin覆盖hadoop-2.7.7的bin

7、处理Python相关

1,将D:\installed\spark-3.0.0-bin-hadoop2.7-hive1.2\python目录下的pyspark文件夹拷贝到python文件夹下C:\Users\Administrator\anaconda3\Lib\site-packages

2,安装py4j库

一般的在cmd命令行下 pip install py4j 就可以。若是没有将pip路径添加到path中,就将路径切换到python的Scripts中,然后再 pip install py4j 来安装库。

如果安装出现timeout,请多试几次。

3 修改权限

将上面一样版本的winutils.exe文件放到spark的bin目录下(我的是D:\installed\spark-3.0.0-bin-hadoop2.7-hive1.2\bin),然后以管理员的身份打开cmd,然后通过cd命令进入到D:\installed\spark-3.0.0-bin-hadoop2.7-hive1.2\bin目录下,且要先建目录c:\tmp\hive,然后执行以下命令:

winutils.exe chmod 777 c:\tmp\hive

8、启动

注意:如果出现什么pro*什么错误的不用管,继续输入命令,也就消失了。

9、使用Pycharm新建一个wordcount例程

from pyspark import SparkConf, SparkContext# 创建SparkConf和SparkContextconf = SparkConf().setMaster("local").setAppName("lichao-wordcount")sc = SparkContext(conf=conf)# 输入的数据data = ["hello", "world", "hello", "word", "count", "count", "hello"]# 将Collection的data转化为spark中的rdd并进行操作rdd = sc.parallelize(data)resultRdd = rdd.map(lambda word: (word, 1)).reduceByKey(lambda a, b: a + b)# rdd转为collecton并打印resultColl = resultRdd.collect()for line in resultColl:    print(line)

如果出现问题:

spark:ValueError: Cannot run multiple SparkContexts at once

解决方法:

ValueError: Cannot run multiple SparkContexts at once; existing SparkContext(app=PySparkShell, master=local[*]) created by at D:\Program Files\Anaconda3\lib\site-packages\IPython\utils\py3compat.py:186 。这句话意思就是说,不能一次性开多个sc(SparkContext),因为之前已经存在一个Spark Contexts,所以再创建一个新的sc会报错。所以解决错误的办法就是,必须把已有的sc给关闭掉,才能创建新的sc。那怎么去关闭呢?我们可以用sc.stop()函数就可以关闭了。

jupyter notebooke也是一样的哦

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值