Apache Spark是用 Scala编程语言 编写的。为了用Spark支持Python,Apache Spark社区发布了一个工具PySpark。使用PySpark,您也可以使用Python编程语言中的 RDD 。正是由于一个名为 Py4j 的库,他们才能实现这一目标。
PySpark提供了 PySpark Shell ,它将Python API链接到spark核心并初始化Spark上下文。今天,大多数数据科学家和分析专家都使用Python,因为它具有丰富的库集。将Python与Spark集成对他们来说是一个福音。
下面本文教大家如何来简单地安装pyspark(之前也在网上搜索了很多教程,无奈都是鸡肋,繁琐又不实用):
- 安装HomeBrew,homebrew地便捷性相信大家都有所耳闻,使用他可以很方便地再mac上安装很多软件。安装教程就不多介绍了,很简单地一句命令即可搞定。
1 | /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)" |
- 安装Java依赖环境和Scala环境
spark是使用scala语言来完成编写的,而scala语言是依赖于java虚拟机来运行的,因此我们需要安装这两者:
1 2 | brew cask install java brew install scala |
- 完成前面两步以后,我们就可以安装spark框架了。
1 | brew install apache-spark |
当terminal显示完成安装以后,我们还需要使用强大的homebrew来检查一下安装依赖等等是否存在问题。
1 | brew doctor |
如果没有问题的话,系统会提示 “Your system is ready to brew.”,有问题的话homebrew也会提示接下来如何操作,这里就不一一细细列举了。
- 接下来安装pyspark,我这里使用的是python3,所以需要安装对应python3的。
1 | pip3 install pyspark |
-
至此基本安装完毕,进入环境变量的设置环节。Mac最新操作系统Catalina的shell该用zsh,因此需要设置
.zshrc (没有的话在用户home目录下创建一个新的),如果是老系统的话shell使用的是bash,因此需要对应的设置.bashrc 文件。 -
设置Java环境变量。
1 2 | export JAVA_HOME=/Library/java/JavaVirtualMachines/adoptopenjdk-8.jdk/contents/Home/ export JRE_HOME=/Library/java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home/jre/ |
这里解释一下,不能完全照抄,需要你看一下
- 接下来设置spark的环境变量。
1 2 | export SPARK_HOME=/usr/local/Cellar/apache-spark/2.4.5/libexec export PATH=/usr/local/Cellar/apache-spark/2.4.5/bin:$PATH |
这里也是要解释一下,需要你看一下
- 设置pyspark环境变量。首先需要找到python3的安装环境
1 | which python3 |
将屏幕输出的python3安装路径记录下来,例如我这里输出的是
- 正式设置pyspark环境变量。
1 2 3 | export PYSPARK_PYTHON=/Users/duan/.virtualenvs/py3/bin/python3 export PYSPARK_DRIVER_PYTHON=jupyter export PYSPARK_DRIVER_PYTHON_OPTS='notebook' |
后两项是设置使用jupyter notebook来使用pyspark。
至此安装完成,让我们来验证一下。
在terminal中输入pyspark,会启动一个jupyter,我们新建一个jupyter来写一个简单的例子代码检查一下。
1 2 3 4 5 6 7 | from pyspark import SparkContext sc =SparkContext() nums= sc.parallelize([1,2,3,4]) print(nums.take(1)) sc.stop # [1] |
参考文献:
https://medium.com/swlh/pyspark-on-macos-installation-and-use-31f84ca61400