pyspark+anaconda配置

参考 https://www.e-learn.cn/content/python/786199

注意

所有的变量都放在环境变量而非用户变量。比如JAVA_HOME。

不然虽然pyspark没问题,但是java会出问题懒得改下面的图了

1.安装anaconda

官网下载安装python3.7版

2.安装JAVA

官网下载安装

https://www.oracle.com/technetwork/java/javase/overview/index.html    (建议 安装  jdk-8u211,8开头的1.8版本。安装12.0跑代码的时候出错)

设置环境变量

安装好以后,配置Java的环境变量,右键我的电脑,依次点击属性-高级系统设置-环境变量

新建用户变量: JAVA_HOME;C:Program FilesJavajdk-XXXXXX

 //这里有问题,见最后的错误及解决

在系统变量中找到Path,点击按钮新建,然后添加文字%JAVA_HOME%in,最后按回车Enter,一直点击确定,就保存了更改,这样就将bin文件夹中的Java程序放到了系统变量中。

3.下载安装并配置Spark

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

官方网站Download Apache Spark™下载相应版本的spark,因为spark是基于hadoop的,需要下载对应版本的hadoop才行,这个页面有对hadoop的版本要求

配置环境变量

分别在用户变量添加SPARK_HOME ,在环境变量的PATH 添加对应的bin,sbin

4.安装并配置Hadoop

http://hadoop.apache.org/releases.html

上面安装spark的时候有对hadoop的版本要求,这里要求的是2.7及以后的版本,进入官方网站Apache Hadoop Releases下载3.1.2 binary版本,

其中source版本是该版本hadoop的源代码,下载以后解压(需要管理员权限解压)

配置环境变量:

右键我的电脑,依次点击属性-高级系统设置-环境变量

新增用户变量 HADOOP_HOME 

然后找到系统变量Path  点击按钮新建,然后添加文本%HADOOP%in,按回车enter,继续新建一个,添加文本%HADOOP%sbin,

按键回车,一直点击确定,就保存了更改,这样就将bin、sbin文件夹中的程序放到了系统变量中

从网站中下载一个压缩包,然后解压出来,复制其中的winutils.exe和winutils.pdb到hadoop的安装文件夹中,

复制目录为:D:hadoop-3.1.2hadoop-3.1.2in

https://github.com/srccodes/hadoop-common-2.2.0-bin

 5.安装pyspark

cmd,进入spark的python目录

pip install pyspark

 

6.检查

参考https://blog.csdn.net/qq_38799155/article/details/78254580

import os
import sys

spark_home = os.environ.get('SPARK_HOME', None)
if not spark_home:
    raise ValueError('SPARK_HOME environment variable is not set')
sys.path.insert(0, os.path.join(spark_home, 'python'))
sys.path.insert(0, os.path.join(spark_home, 'python/lib/py4j-0.10.4-src.zip'))
comm=os.path.join(spark_home, 'python/lib/py4j-0.10.4-src.zip')
print ('start spark....',comm)
exec(open(os.path.join(spark_home, 'python/pyspark/shell.py')).read())

遇到的问题

原因,添加的JAVA环境路径包含空格

 

修改为

原文地址:https://www.cnblogs.com/lqerio/p/11180117.html