在MAC的Anaconda上使用pyspark,主要包括以下步驟:
- 在MAC下安裝Spark,并配置環(huán)境變量。
- 在Anaconda中安裝引用pyspark。
1. MAC下安裝Spark
到Apark Spark官網(wǎng)上下載Spark文件,無論是windows系統(tǒng),還是MAC系統(tǒng),亦或者Linux系統(tǒng),都可以下載這個文件(獨立于系統(tǒng))。
將下載的文件進行解壓(可以使用命令行進行解壓,也可以使用解壓軟件)。解壓之后的文件如下:
配置環(huán)境變量。打開MAC命令行窗口,輸入如下命令:
sudo vi ~/.bash_profile #bash_profile是當前用戶的環(huán)境變量文件
打開bash_profile文件,并在該文件中增加以下兩行命令:
export SPARK_HOME="/Users/sherry/documents/spark/spark-3.1.2-bin-hadoop2.7" #spark文件的完整解壓目錄 export PATH=${PATH}:${SPARK_HOME}/bin
如下圖
保存并退出之后,運行以下命令:
source ~/.bash_profile #讓修改的bash_profile生效 echo $PATH #查看環(huán)境變量,可以看到新增的路徑名
一般MAC上使用的是zsh的shell工具,需要修改zshrc文件來使環(huán)境變量永久生效(若不修改該文件,在命令行中輸入spark- shell或者pyspark時可能會提示zsh:command not found:pyspark 或 zsh:command not found spark-shell )。輸入以下命令:
vi ~/.zshrc
修改該文件,添加如下命令:
if [ -f ~/.bash_profile ]; then source ~/.bash_profile fi
保存并退出即可。下面來驗證spark是否正確安裝,具體如下:
(1)命令行中輸入spark-shell
(2)命令行中輸入pyspark
至此,spark已經(jīng)安裝成功。
2.在Anaconda中引用pyspark
想要在Anacond中使用pyspark, 只需將spark解壓文件中python文件夾下的pyspark復制到Anaconda下的site-packages文件中。下面來驗證一下是否能在spyder中使用pyspark, 使用如下代碼:
from pyspark import SparkContext, SparkConf if __name__ == "__main__": spark_conf = SparkConf()\ .setAppName('Python_Spark_WordCount')\ .setMaster('local[2]') #使用spark最原始的API進行數(shù)據(jù)分析 sc = SparkContext(conf=spark_conf) sc.setLogLevel('WARN') print (sc) # ------創(chuàng)建RDD,需要分析的數(shù)據(jù) -------------------------------------- def local_rdd(spark_context): datas = ['hadoop spark','hadoop hive spark','hadoop hive spark',\ 'hadoop python spark','hadoop python spark',] return spark_context.parallelize(datas) rdd = local_rdd(sc) print (rdd.count()) print (rdd.first()) sc.stop()
運行發(fā)現(xiàn)提示如下錯誤:
從提示信息可以知道,找不到SPARK_HOME。可以在上述主函數(shù)中增加如下代碼:
import os #添加spark安裝目錄 os.environ['SPARK_HOME'] ='/Users/sherry/documents/spark/spark-3.1.2-bin-hadoop2.7'
重新運行即可得到如下結果:
5
hadoop spark到此這篇關于MAC+Anaconda+Pyspark安裝配置教程的文章就介紹到這了,更多相關Anaconda Pyspark安裝配置內容請搜索服務器之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持服務器之家!
原文鏈接:https://blog.csdn.net/yeshang_lady/article/details/121570361