引言
- 本文为个人本地部署pyspark遇到的问题以及解决办法,包含个人的一些理解,仅供参考。
- 设备: Mac M2
安装过程
安装HomeBrew
- Mac 上用来管理安装包的,可能早期的 Macos 自带但是起码我个人的 Mac 是需要安装的(以下安装方法个人为测试,之前这个包已经装过了)
- zsh 和 bash 应该是都可以的,仅供参考。
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
安装Java和 Scala
- spark是使用scala语言来完成编写的,而scala语言是依赖于java虚拟机来运行的,因此我们需要安装这两者
brew cask install java # 可能无效
brew install scala
brew 安装
单独安装 Java
-
由于上面指令虽然没有报错但是在下面配置 Java 环境的时候找不到对应的目录,说明大概率是没有正确安装成功的(如图找不到对应的路径)。
Java 官网地址
-
选择你对应的版本即可(M 选择 ARM,intel 选择 X64)
-
验证 Java 安装成功可以使用
java -version
来验证 -
查找 Java 安装路径可以使用
/usr/libexec/java_home -V
安装 apache-spark
brew install apache-spark
检查依赖
brew doctor
- 可以检查出是否缺少依赖的包,根据提示安装就行
安装pyspark(可以使用国内镜像源)
pip install pyspark
配置环境
- Mac新操作系统的shell用zsh,因此需要设置.zshrc(没有的话在用户home目录下创建一个新的),如果是老系统的话shell使用的是bash,因此需要对应的设置.bashrc文件, 其实吧,我用下面这个指令就可以
vim ~/.bash_profile
配置 Java
export JAVA_HOME=/Library/java/JavaVirtualMachines/adoptopenjdk-8.jdk/contents/Home/
export JRE_HOME=/Library/java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home/jre/
- Java 路径如何查看上方已经写了,替换为自己的路径即可
- Java 没变量没配置好可能出现
配置 spark
export SPARK_HOME=/usr/local/Cellar/apache-spark/2.4.5/libexec
export PATH=/usr/local/Cellar/apache-spark/2.4.5/bin:$PATH
- 如何查找自己的 spark 安装目录
- 显然下面这个是不行的
- 显然下面这个是不行的
- 其实查找的是apache-spark的目录
brew info apache-spark
- 找到后替换 spark 的路径
配置 scala
- 虽然参考资料里有的配置了有的没配置,个人还是配置了 Scala 路径,hadoop 没有下载也未配置,本地测试貌似不需要
brew info scala
模仿 java 的配置信息即可
设置 pyspark 的环境变量
which python
- 首先替换自己的 Python 路径,然后此处设置的设备是 jupyter notebook,如果不使用可以不配置
export PYSPARK_PYTHON=/Users/duan/.virtualenvs/py3/bin/python3
export PYSPARK_DRIVER_PYTHON=jupyter
export PYSPARK_DRIVER_PYTHON_OPTS='notebook'
- 如果配置好了就会出现下图情况,此处设置了(jupyter)
结尾
- 以下参考文章都或多或少需要个人参考的时候遇到了新的问题,可以酌情参考
- 关于本文安装的 pyspark 因为配置的是 jupyter,如果单独使用的配置,后续随着测试的进行可能会进行修改,所以本文仅供参考。
- 参考 1
- 参考 2
- 参考 3