Windows10搭建Spark+Python開發環境


原文鏈接:https://mp.weixin.qq.com/s/mUUKO-oCsy_xxi7dQduhwg

准備工作

  • 查看操作系統的版本信息:計算機>>右鍵“屬性”>>查看版本信息,如Windows10專業版64位。

 

 

 

1

安裝Anaconda

 

1.1 下載

  • 注意選擇與操作系統匹配的版本,截止寫本教程時,官方版本為Anaconda5.0.1,內部封裝的為Python3.6,也可根據需要下載封裝其他版本Python的Anaconda3

  • 下載地址為:https://www.anaconda.com/download/

 

 

1.2 安裝

  • 根據安裝向導逐步進行,注意安裝路徑中的文件夾名稱不要存在空格

 

1.3 配置環境變量

  • 配置系統變量PATH,添加…\Anaconda3\Scripts及…\Anaconda3(根據安裝路徑確定)

 

【注意】此圖PATH變量中也顯示了后續安裝過程中添加的信息

 

1.4 測試

  • 測試Python:在cmd中輸入Python命令,查看Python版本信息

  • 測試Conda:在cmd中輸入conda或pip命令,查看具體信息

 

 

 

2

安裝Java

 

2.1 下載

  • 下載JDK8,選擇與操作系統匹配的版本,注意勾選同意其使用協議后下載

  • 下載地址為:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

 

 

2.2 配置環境變量

  • 新建系統變量JAVA_HOME,值為Java安裝路徑

  • 新建系統變量CLASSPATH,值為“.%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar”(注意最前面的圓點)

  • 配置系統變量PATH,添加%JAVA_HOME%\bin及%JAVA_HOME%\jre\bin

 

 

2.3 測試

  • 在cmd中輸入java –version命令,查看Java版本信息

 

 

 

3

安裝Spark

 

3.1 下載

  • 下載Spark2.2.0,注意與操作系統版本一致

  • 下載地址為:http://spark.apache.org/downloads.html

 

3.2 安裝

  • 只需解壓程序包,並拷貝至存放路徑,注意安裝路徑中的文件夾名稱不要存在空格

 

3.3 配置環境變量

  • 新建系統變量SPARK_HOME,值為Spark安裝路徑

  • 配置系統變量PATH,添加%SPARK_HOME%\bin及%SPARK_HOME%\sbin

 

3.4 配置日志顯示級別

  • 選擇…\spark\conf\目錄下log4j.properties.template,復制為log4j.properties

  • 將log4j.properties中,"INFO, console"改為"WARN, console"

 

 

4

配置Hadoop支持模塊

 

4.1 下載

  • 下載Hadoop支持模塊

  • 下載地址為:https://github.com/LemenChao/Introduction-to-Data-Science/blob/master/Hadoop/hadoop.dll-and-winutils.exe-for-hadoop2.7.3-on-windows_X64-master.zip

 

4.2 安裝

  • 只需解壓程序包,並拷貝至存放路徑,注意安裝路徑中的文件夾名稱不要存在空格

 

4.3 配置環境變量

  • 新建系統變量HADOOP_HOME,值為Hadoop安裝路徑

  • 配置系統變量PATH,添加%HADOOP_HOME%\bin

 

 

5

測試Spark

 

5.1 測試spark

  • 在cmd中輸入spark-shell,查看Spark版本信息

 

5.2 測試pyspark

  • 在cmd中輸入pyspark,查看Pyspark版本信息

 

 

6

運行示例代碼

 

6.1 將...\spark\python\pyspark文件夾拷貝至...\Anaconda3\Lib\site-packages文件夾下(注意安裝路徑)

 

6.2 安裝python的py4j庫,Py4j可以使運行於python解釋器的python程序動態的訪問java虛擬機中的java對象。

 

6.3 運行示例代碼

 

 

 

 

個人執行過程排錯

1.win10 命令提示符cmd不是內部或外部命令的解決方法

在系統環境變量path添加:

  • %SystemRoot%\system32
  • %SystemRoot%
  • %SystemRoot%\System32\Wbem
  • %SystemRoot%\System32\WindowsPowerShell\v1.0

2.Exception: Java gateway process exited before sending its port number

確保你前面的配置都沒有錯。java、spark、Hadoop都配置成功,我自己的問題是因為運行程序的python環境沒有被添加到系統變量里去。

3.py4j.protocol.Py4JError: org.apache.spark.api.python.PythonUtils.getEncryptionEnabled does not exist in the JVM

在最開頭添加這兩行代碼:

import findspark
findspark.init()

完整測試程序如下:

import findspark
findspark.init()
from pyspark import SparkContext
from pyspark import SparkConf

conf = SparkConf().setAppName("miniProject").setMaster("local[*]")
sc=SparkContext.getOrCreate(conf)
rdd=sc.parallelize([1,2,3,4,5])
rdd1=rdd.map(lambda r:r+10)
print(rdd1.collect())


免責聲明!

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



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