您好,登錄后才能下訂單哦!
【目的】
Windows 10 裸機(jī)搭建 Spark 環(huán)境,使能運(yùn)行 PySpark Shell。
【原料】
Windows 10 x64
jdk-8u162-windows-x64.exe
python-3.6.7-amd64.exe
spark-2.3.2-bin-hadoop2.7.tgz
hadoop-2.7.7.tar.gz
winutils.exe
【安裝 JDK】
雙擊 jdk-8u162-windows-x64.exe 安裝,后續(xù)基本上就是一路“next”。
配置環(huán)境變量
# 可通過(guò) echo %JAVA_HOME% 檢驗(yàn) JAVA_HOME: C:\Program Files\Java\jdk1.8.0_162 # 可通過(guò) echo %CLASS_PATH% 檢驗(yàn) CLASS_PATH: C:\Program Files\Java\jdk1.8.0_162\lib # 可通過(guò) echo %PATH% 檢驗(yàn) Path: C:\Program Files\Java\jdk1.8.0_162\bin
【安裝 Python3】
雙擊 python-3.6.7-amd64.exe 安裝
為了便于代碼補(bǔ)全,建議安裝以下兩個(gè)第三方包
# 安裝ipython pip3 install ipython -i https://pypi.doubanio.com/simple/ # 安裝pyreadline pip3 install pyreadline -i https://pypi.doubanio.com/simple/
【安裝 Spark】
到 http://spark.apache.org/downloads.html 下載 spark-2.3.2-bin-hadoop2.7.tgz 并解壓,walker 解壓到了 D:\spark 目錄。
到這里,pyspark 已經(jīng)可以運(yùn)行了,但會(huì)提示找不到 winutils.exe。
配置環(huán)境變量
SPARK_HOME: D:\spark\spark-2.3.2-bin-hadoop2.7 PATH: D:\spark\spark-2.3.2-bin-hadoop2.7\bin
【安裝 Hadoop】
到 https://archive.apache.org/dist/hadoop/common/hadoop-2.7.7/ 下載 hadoop-2.7.7.tar.gz 并解壓。如果報(bào)錯(cuò)“Can not create symbolic link : 客戶(hù)端沒(méi)有所需特權(quán)。”,以管理員身份運(yùn)行解壓軟件后解壓即可。
配置環(huán)境變量
HADOOP_HOME: D:\spark\hadoop-2.7.7 PATH: D:\spark\hadoop-2.7.7\bin
修改 D:\spark\hadoop-2.7.7\etc\hadoop\文件,否則可能報(bào)類(lèi)似這種錯(cuò)誤“Error: JAVA_HOME is incorrectly set. Please update F:\hadoop\conf\hadoop-env.cmd”
# 因?yàn)?nbsp;JAVA_HOME 環(huán)境變量有空格,所以做如下修改 set JAVA_HOME=%JAVA_HOME% # --->>> set JAVA_HOME=C:\PROGRA~1\Java\\jdk1.8.0_162
開(kāi) cmd 輸入 hadoop version,有如下輸出即正常
Hadoop 2.7.7 Subversion Unknown -r c1aad84bd27cd79c3d1a7dd58202a8c3ee1ed3ac Compiled by stevel on 2018-07-18T22:47Z Compiled with protoc 2.5.0 From source with checksum 792e15d20b12c74bd6f19a1fb886490 This command was run using /D:/spark/hadoop-2.7.7/share/hadoop/common/hadoop-common-2.7.7.jar
【winutils.exe】
到 https://github.com/steveloughran/winutils 下載對(duì)應(yīng)版本的 winutils.exe,放入 D:\spark\hadoop-2.7.7\bin。
【Python 腳本測(cè)試】
腳本如下(t.py)
from pyspark import SparkConf, SparkContext conf = SparkConf().setMaster("local").setAppName("My App") sc = SparkContext(conf = conf) print('***************************** %s' % sc.appName) sc.stop()
用 spark-submit t.py 命令運(yùn)行腳本,包含如下輸出即正確。
***************************** My App
【FAQ】
報(bào)錯(cuò) ModuleNotFoundError: No module named 'resource'
可能你用的 spark 版本對(duì) Windows 10 太新了,換成 Spark 2.3.2 或以下的版本即可。
【相關(guān)閱讀】
windows10上配置pyspark工作環(huán)境
*** walker ***
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。