WINDOWS 10環境下的Pyspark配置 (基於Anaconda環境,附加不重啟情況下環境變數Path修改方式)

WINDOWS 10環境下的Pyspark配置 (基於Anaconda環境,附加不重啟情況下環境變數Path修改方式)

4 人贊了文章

由於需要幫老婆完成課程作業,在ubuntu和win 10上都做了spark環境的配置,其中ubuntu環境的配置比較簡單,網上教程也較多,但是win 10系統的教程中,往往忽略了很多問題,因此以下對win環境中的配置做一總結。

環境配置過程主要包括:

  • Python
  • JAVA (JDK)
  • Spark
  • Scala
  • Hadoop
  • 環境變數的設置
  • PySpark

Python

本文使用的python環境為Anaconda環境,主要考慮的是Anaconda的集成度比較好。下載地址為:Anaconda,外網下載比較慢的話推薦:清華鏡像。建議安裝中將Python路徑添加入Path。

JDK

JAVA的配置基本可以參照Spark在Windows下的環境搭建這篇博客。JAVA下載地址為:JAVA。

極為重要的一個點,一定不要安裝最新的10.0.1,會導致後續的scala和spark都無法正常使用。目前我安裝的版本為:Java SE Development Kit 8u171,後續安裝中未出現其他問題。

安裝後,記錄安裝目錄(例如默認路徑 C:Program FilesJavajdk1.8.0_171),後續環境變數設置部分需要用到。

Spark

Spark的安裝非常簡單,只需要把所用的程序下載下來解壓即可。程序地址:Spark

需要注意的是,Spark的不同版本要求了不同的Scala和Hadoop版本,如上圖所示,這個版本的Spark要求的Scala為大於2.10版本(推薦2.11),Hadoop版本為2.7以上。後續安裝中需要注意。

Scala

從官方網址下載安裝包:Scala,所選版本需和Spark對應。本人所選版本為Scala 2.11,win下的Scala需要選擇Scala binaries for windows.

Hadoop

個人發現,如果不安裝Hadoop,運行中會發生各種莫名其妙的錯誤,因此推薦配置。軟體版本根據Spark來定,下載地址為:Hadoop。本人所選版本為2.7.1,選擇已經編譯好的版本。

下載完成解壓後,需要添加winutils.exe文件,否則運行中會報錯找不到該文件。網上已經有編譯好的文件,地址為:github_winutils,根據自己的Hadoop版本下載,然後放入Hadoop解壓後的bin文件中即可。

根據網上的大部分教程,這裡提示需要對該文件進行許可權修改,但是這一步在我自己使用過程中一直無法通過,並且後續的操作中發現也並無影響,因此可以考慮不進行許可權修改。

環境變數的設置

在完成上述的所有安裝後,我們統一進行環境變數的配置。注意,以下修改的都是「系統變數」,非用戶變數。

Python

Anaconda安裝中已經自動配置。

JAVA

在系統變數中加入JAVA_HOME,路徑設置為:

C:Program FilesJavajdk1.8.0_171

在系統變數中加入CLASSPATH (重要),路徑設置為:

%JAVA_HOME%lib

不添加這一步,後續使用中會提示需要的庫函數未找到。

在Path中添加:

%JAVA_HOME%in

Scala

安裝中已經自動配置,如果沒有,將Scala的bin文件添加入Path中。

Hadoop

在系統變數中加入HADOOP_HOME,路徑設置為解壓後的Hadoop路徑。

在Path中添加:

%HADOOP_HOME%in

Spark

在系統變數中加入SPARK_HOME,路徑設置為解壓後的Spark路徑。

在Path中添加:

%SPARK_HOME%in%SPARK_HOME%sbin

所有環境配置完以後,可以通過重啟來使得系統環境變數激活。這裡介紹一種更為簡單的操作,首先在Powershell中運行

set PATH=C:

關閉該窗口,在新窗口中運行

echo %PATH%

系統變數即生效。該操作不改變系統環境變數,省去了關機的時間。(原理請參照其他博客。)

在完成所有環境變數配置後,可以在Powershell中運行spark-shell,顯示如下界面:

運行pyspark,顯示如下界面:

即表明基本配置成功。

PySpark

由於希望在python環境中可以直接通過import pyspark的形式使用,因此,我們通過如下的方式來讓python「找到」spark。

首先,通過pip命令安裝findspark:

pip install findspark

然後在所需程序中執行

import findsparkfindspark.init()

即可順利import pyspark。

最後,祝大家期末愉快!

推薦閱讀:

win 10 重裝 win 7 系統
windows10各版本功能對比及其激活密鑰分享

TAG:Python | window10 | 分散式計算 |