pyspark+anaconda配置


參考 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環境路徑包含空格

 

修改為

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM