目录
项目环境
jdk1.8.0_333
python3.7.13
scala2.11.8
hadoop2.7.1
spark2.4.3-bin-hadoop2.7
我参考过的博客
- windows下的spark总体安装流程window环境下安装spark - 知乎
- 【Anaconda教程01】怎么安装Anaconda3 - 知乎
- Jupyter notebook文件默认存储路径以及更改方法 - 数说张小桃 - 博客园
软件安装
1、jdk安装
安装jdk1.8.0_333
链接:https://pan.baidu.com/s/1apVg0mYzHXDwEZcQvC0EgA
提取码:6666
新建环境变量JAVA_HOME
值为jdk安装目录D:\soft\jdk1.8_64
PATH中添加%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
2、Anaconda安装
安装步骤
链接:https://pan.baidu.com/s/1uBUecdMJH5UwQWH2gpjaAQ
提取码:6666
选择给ALL User安装
需要取消勾选以下两项
环境变量配置
在PATH中添加
一定要注意这里,从Anaconda prompt打开 ,在开始那里会有的
启动一下jupyter notebook
更换存储位置可参考Jupyter notebook文件默认存储路径以及更改方法 - 数说张小桃 - 博客园
安装成功截图
创建虚拟环境conda创建虚拟环境_Programmor_的博客-CSDN博客_conda创建虚拟环境
查看当前存在的虚拟环境conda info --envs
此处建环境出现一个错
原因是conda源加入了不知名的URL,现在不能使用了(或者废弃)
解决办法【conda】解决 An HTTP error occurred when trying to retrieve this URL.问题 - clemente - 博客园
我这里是C:\Users\32446\.condarc文件可以看到配置的url
channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
- defaults
命令运行成功截图
图中显示的创建环境即将安装的位置是C:\Users\32446\.conda\envs\py37,后面讲如何更改环境安装位置
但是明明之前把Anaconda装在D盘,试了很多方法都不能改变位置,包括在文件中添加位置都无用。好像是conda本身决定了。输入conda info,查看相关信息
此处通过命令行直接将环境安装到指定的地方
conda create --prefix D:\soft\Anaconda3\envs\py37 python=3.7
输入y开始下载
竟然出错了
那就以管理员身份运行命令行,最后成功安装
安装成功后,先输入activate,再输入conda activate py37,否则会报错
3、scala安装
链接:https://pan.baidu.com/s/1aFAqWSyQh4DHo4AUXjcmIQ
提取码:6666
安装关键步骤
由于scala会自动配置好环境变量,此处安装完成不再多讲
4、Hadoop安装
链接:https://pan.baidu.com/s/133IlmoGS5B-U3pFH2Sz2mg
提取码:6666
解压到指定目录
环境变量配置
新建HADOOP_HOME
值为D:\soft\hadoop-2.7.1
PATH中添加%HADOOP_HOME%\bin
运行scala
5、Spark安装
链接:https://pan.baidu.com/s/12Eab3STZQ97CWkfi3tFScQ
提取码:6666
解压到指定目录
配置系统环境变量
新增SPARK_HOME,值为本地spark安装路径
新增PATH,为 %SPARK_HOME%\bin
此时输入spark-shell会报错如下
原因是hadoop并未完整,还缺少主要的winutils.exe和hadoop.dll
链接:https://pan.baidu.com/s/1Ov6XqvUGzhg1Y2dW2hmQBg
提取码:6666
将压缩包里的hadoop2.7.1的bin目录覆盖原来的目录
spark-shell运行成功截图,此时hadoop和spark以经安装成功
6、安装sbt
如果没有文件打包需求的可以不安装,本项目可以不用
链接:https://pan.baidu.com/s/1PscAMFhYGtE6pLpTPCiXfQ
提取码:6666
----------------------------------------------------分割线-------------------------------------------------------------------
包安装
以下是在pycharm中使用pyspark以及graphframes
目前直接输入pyspark会报以下错误TypeError: 'bytes' object cannot be interpreted as an integer
1、安装py4j
首先以管理员运行命令行。在台式机windows上安装时并未使用管理员身份,但在我笔记本上安装时需要这样
进入py37环境之后,再输入命令:pip install py4j
如果没有进环境就输入了包安装命令,则包安装在C盘
2、安装pyspark
输入命令行 :pip install pyspark
现在再输入pyspark,则无报错
-------------------------------------------------------分割线----------------------------------------------------------------
接下来是新建python项目
1、项目配置
选择新建的py37环境
进入项目之后,File->setting,查看py4j包和pyspark包是否存在
进入项目结构,按以下步骤操作,为项目添加两个zip包
点击确定,此时项目结构如图所示
此时可以关闭项目,打开spark自带的python项目,位置如下
按照上述方法,添加python3.7解释器和两个zip包
在此位置添加新的配置,如下图所示
,运行pi.py文件
运行成功
2、使用graphframes库
如果使用本文的版本,那就选择0.6.0的graphframes
链接:https://pan.baidu.com/s/13PN75mYorH1jxfRG1evTMQ
提取码:6666
管理员身份打开命令行,进入py37的环境,输入命令:
pyspark --packages graphframes:graphframes:0.6.0-spark2.3-s_2.11 --jars graphframes-0.6.0-spark2.3-s_2.11.jar
此时产生报错
通过直接pip install graphframes
虽然有这个包,但是
运行代码报错
对比台式和笔记本的C:\Users\32446\.ivy2目录下的jars,特地去台式上面把文件拷了过来,放到笔记本上
此时需要核对几个地方
官网下载graphframes的jar包的下载地址:https://spark-packages.org/package/graphframes/graphframes,本文所使用的链接
链接:https://pan.baidu.com/s/13PN75mYorH1jxfRG1evTMQ
提取码:6666
①jar包下载之后,需要放到D:\soft\Anaconda3\envs\py37\Lib\site-packages\pyspark\jars(也就是环境下面的pyspark下的jars文件夹下)
②pip show pyspark,查看是否为2.4.3版本,如果不是,pip uninstall pyspark,pip install pysparl==2.4.3
③C:\Users\32446\.ivy2\jars下的包需要全部复制粘贴到D:\soft\spark-2.4.3-bin-hadoop2.7\jars(也就是spark下的jars文件夹下)
核对完这三个地方,输入命令:pip uninstall graphframes==0.6
进入pyspark,输入以下代码
pycharm运行
运行成功