參考 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 Files\Java\jdk-XXXXXX
//這里有問題,見最后的錯誤及解決
在系統變量中找到Path,點擊按鈕新建,然后添加文字%JAVA_HOME%\bin,最后按回車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%\bin,按回車enter,繼續新建一個,添加文本%HADOOP%\sbin,
按鍵回車,一直點擊確定,就保存了更改,這樣就將bin、sbin文件夾中的程序放到了系統變量中
從網站中下載一個壓縮包,然后解壓出來,復制其中的winutils.exe和winutils.pdb到hadoop的安裝文件夾中,
復制目錄為:D:\hadoop-3.1.2\hadoop-3.1.2\bin
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環境路徑包含空格
修改為